オフラインのキャッシュとマップ削減様の機能は両方とも開発中です。 firebase.js ソースはこちらから入手できます 開発とデバッグ用。
ローカルでスナップショットをシリアル化できます エクスポート すべての優先度データを保存します。優先順位を使用していない場合、単純な値は次のとおりです。
var fb = new Firebase(URL);
fb.once('value', function(snapshot) {
console.log('values with priorities', snapshot.exportVal());
console.log('values without priorities', snapshot.val());
});
後で、Firebaseがオフラインの場合(使用してください .info/connected これを決定するのに役立つ)アプリがロードされたら、電話することができます 。設定() そのデータをローカルファイアベースに戻す。 Firebaseがオンラインで来る場合//場合、同期されます。
ただし、これは、1人だけがアクセスして変更する静的データにのみ適しています。たとえば、データをダウンロードし、1週間ローカルに保持する場合、フォールアウトを考えてみてください。その間、他のユーザーによって変更されてから、アプリをオフラインで読み込み、1つのマイナーな変更を加えてからオンラインになります。私の古い変化は、その間に行われたすべての作業を吹き飛ばすでしょう。
これに対処する方法はたくさんあります - セキュリティルールと更新カウンター/タイムスタンプを使用して古いデータを検出し、回帰を防ぐことができますが、これは単純な出来事ではなく、このルートを下る前に深い検討が必要です。