2017-09-19 4 views
0

J'utilise AngularDart. Je veux changer la référence que j'écoute en supprimant/ajoutant les écouteurs actifs. A partir du lien et de la documentation "Détacher les écouteurs" ci-dessous, il me semble que j'ai besoin de la méthode off() pour supprimer les écouteurs actifs afin qu'un nouvel écouteur puisse être ajouté.Dart Firebase off() méthode

Question: Comment utiliser la méthode off() dans Dart.

document

Détachez auditeurs:

sont éliminés par Callbacks appelant la méthode off() sur votre référence de base de données Firebase. Vous pouvez supprimer un seul écouteur en le passant en paramètre à off(). L'appel de off() sur l'emplacement sans argument supprime tous les écouteurs à cet emplacement. L'appel de off() sur un écouteur parent ne supprime pas automatiquement les écouteurs enregistrés sur ses nœuds enfants; off() doit également être appelé sur tous les écouteurs enfants pour supprimer le rappel.

Répondre

0

Dans Dart vous utilisez listen() pour vous abonner aux notifications. listen() renvoie un StreamSubscription que vous pouvez utiliser pour vous désabonner en appelant sa méthode cancel().

+1

L'appel de cancel() ne fonctionnait pas pour moi; l'application s'est comportée comme si le rappel était encore enregistré après l'appel de cancel(). Au lieu de cela j'ai appris plus sur firebase.database.Query. L'application utilise une commande orderByChild et equalTo pour obtenir les bonnes données au lieu d'ajouter/supprimer des écouteurs. Cela fonctionne et semble être la bonne voie à suivre. – Ayyrk