2016-07-05 17 views
2

で最新の値を取得します。永続性を有効に設定しました。ローカルキャッシュは、ほとんどのユースケースでうまく機能します。私はレストランのアプリは、Google Firebaseを使用しているサーバー

ユーザーが項目をクリックすると、私は常にローカルキャッシュに何があるか無視して、データベース内の最新の値を読みたいです。ユーザーが既にアイテムを見ている場合

今、firebaseは、以前の値を返し、それがデータベースから更新された値を返した直後に。

は、ドキュメント内のローカルキャッシュを無視して、DB内の現在の値を読み取るために、関連するAPIが見つかりませんでした。

PS:私はpersistenceEnabledをオフにしたくありません。

事前に感謝、

答えて

0

これを行うにはいくつかのトリックがあります。 1つのトリックは、データベースrefでkeepSyncedフラグをtrueに設定することです。これにより、サーバは現在そのrefでデータをリッスンしているかどうかにかかわらず、そのrefの変更をFirebaseクライアントにプッシュします。そうすれば、接続している限り、refは常にサーバーで最新の状態になります。ただし、接続していない場合でも、ローカルキャッシュに最新の値が表示されます。

が本当にローカルキャッシュをバイパスするには、FirebaseのREST APIを使用して直接バックエンドを照会することができます。これにより、SDKと同じもののほとんどをHTTPS経由で直接行うことができます。詳細についてはFirebaseドキュメントをご覧ください。

関連する問題