An einigen Stellen habe ich mich selbst in die Datenbank-Listener von Firebase geschachtelt. Zum Beispiel habe ich eine Liste von foos
, jeder mit einer Liste von bars
, und ich mag, etwas tun, wenn eine neues bar
ein foo
hinzugefügt:Firebase Event-Handler in `child_added` bereinigen?
firebase.database().ref('foos').on('child_added', function(fooSnap) {
fooSnap.ref.child('bars').on('child_added', function(barSnap) {
// do something with the new bar
});
});
Gibt es einen besseren Weg, dies zu tun?
Und wenn ein foo
entfernt wird, ist, dass verschachtelte bar
child_added
Zuhörer gereinigt, oder sollte ich .off(...)
in einem child_removed
Hörer irgendwo anrufen? Wie würde ich das überhaupt machen?
Enthält 'fooSnap.val()' nicht alle Kinder/Unterkinder des neuen Knotens? Könnten Sie einfach eine synchrone Schleife verwenden? – qxz
Das würde funktionieren, wenn ich etwas mit den vorhandenen Takten machen wollte, aber ich möchte fortfahren, wenn sie hinzugefügt werden. Denken Sie an Benachrichtigungsserver oder Suchindexierung. – nicholas