バージョン^ 3.0.0の時点で、auth state change listenerを削除するのに苦労しています。
ドキュメントに従ってリスナーを開始するには:
firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
ただし、ドキュメント内で認証状態変更リスナーの削除を参照している箇所は見つかりません。 Firebase.AuthクラスにはremoveAuthTokenListener
と呼ばれる独特の関数があります。残念ながら、文書化されていません( firebase docs reference )。
ブラウザのWebコンソール経由。
var auth = firebase.auth();
auth.removeAuthTokenListener;
1つのパラメーターを取る関数定義を出力します。私は次のことをしようとしました:
this.authListener = firebase.auth().onAuthStateChanged(function (user) {...});
firebase.auth().removeAuthTokenListener(this.authListener);
しかし、それは何もしませんでした。
ドキュメント によると、onAuthStateChanged()
関数は
オブザーバーのサブスクライブ解除機能。
したがって、次のことができます。
var unsubscribe = firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
その後:
unsubscribe();