私は一度作成するクエリを持ち、リスナを保持したくないので、手動トリガが送信されたときにデータが更新されます。addListenerForSingleValueEvent()で使用したときに古いデータセットを返すFirebase
だから私のクエリは次のようになります:
var ref = this.instance.child('/user/manish/today/events')
.orderByChild('endDateTime')
.endAt(endEventTime)
.limitToLast(10)
.addListenerForSingleValueEvent(this.previousEventListeners);
this.previousEventListeners = new com.google.firebase.database.ValueEventListener({
onDataChange: (snapshot) => {
console.log("Value from native firebase access");
console.dump(this.testing(snapshot.getValue()));
let result = {
value : this.testing(snapshot.getValue()),
type : "ValueChanged"
};
console.dump(result);
},
onCancelled: (databaseError) => {
console.log(databaseError.getMessage());
hideActivtiyIndicator();
}
});
それは、新しいレコードがクエリ条件と一致したことを添加しても、同じデータセットを返します。
ありがとうございました
これは、ディスクの永続性を使用している可能性が最も高いです。 Firebaseのディスク永続性と 'addListenerForSingleValueEvent()'はうまく混ざりません。 http://stackoverflow.com/questions/34486417/firebase-offline-capabilities-and-addlistenerforsinglevalueevent/34487195#34487195を参照してください。 –