Ich habe ein paar Probleme zu verstehen, wie man mit einem Strom von Objekten, die von einem angularfire 2 Observable emittiert wird, umzugehen.Get single values from angularfire 2 beobachtbar
Schauen Sie sich das Beispiel:
// create observable
var observalbe = Rx.Observable.range(1, 3);
// Prints out each item
var subscription = observalbe.subscribe(
x => console.log(x)
);
erhalten Sie folgende Ausgabe:
// 1
// 2
// 3
Das ist das Verhalten, das ich erwarte ich, wenn zu einer beobachtbaren abonnieren, soweit ich es verstehe.
Jetzt möchte ich auf eine Echtzeit-db-Sammlung auf Feuerbasis mit angularfire 2 abonnieren:
// af is an instance of AngularFire-Service that is injected in the constructor
var observable = af.database.list('/items');
observable.subscribe(
x => console.log(x)
);
Ich hatte erwartet, dass meine Pfeil-Funktion für jedes einzelne Objekt aufgerufen wird, die in dieser Sammlung vorhanden ist, und dass Es wird auch jedes Mal aufgerufen, wenn ein neues Element zur Firebase-Sammlung hinzugefügt wird.
Stattdessen wird die Pfeilfunktion nur einmal aufgerufen und ein Array mit allen Objekten gegeben. Wenn ein neues Objekt zur Sammlung hinzugefügt wird, wird die Pfeilfunktion erneut aufgerufen und es wird erneut die gesamte Sammlung übergeben, und nicht nur das neue Objekt.
Mache ich hier etwas falsch? In meinem Fall würde ich sehr bevorzugen, dass die Pfeilfunktion für jedes Element in der Sammlung aufgerufen wird.
Gibt es einen Weg, dies zu erreichen?