Ab Version ^ 3.0.0 ist es schwierig, den Listener für die Änderung des Authentifizierungsstatus zu entfernen.
So starten Sie den Listener gemäß der Dokumentation:
firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
Ich kann jedoch in der Dokumentation keine Stelle finden, die sich auf einen Listener zum Entfernen von Auth-Statusänderungen bezieht. In der Firebase.Auth-Klasse gibt es eine besondere Funktion mit dem Namen removeAuthTokenListener
. Leider ist es nicht dokumentiert ( firebase docs reference ).
Über die Webkonsole Ihres Browsers.
var auth = firebase.auth();
auth.removeAuthTokenListener;
gibt eine Funktionsdefinition aus, die einen Parameter enthält. Ich habe Folgendes versucht:
this.authListener = firebase.auth().onAuthStateChanged(function (user) {...});
firebase.auth().removeAuthTokenListener(this.authListener);
aber das hat nichts gebracht.
Entsprechend der Dokumentation gibt die onAuthStateChanged()
-Funktion zurück
Die Abmeldefunktion für den Beobachter.
Sie können also einfach:
var unsubscribe = firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
Und dann:
unsubscribe();