Firebase перестает слушать onAuthStateChanged
Начиная с версии ^ 3.0.0, мне трудно удалить прослушиватель изменений состояния auth.
Чтобы запустить слушатель в документации:
firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
Однако я не могу найти нигде в документации, которая ссылается на удаление пользователя смены состояния auth. В классе Firebase.Auth есть своеобразная функция, называемая removeAuthTokenListener
. К сожалению, он не задокументирован (ссылка на документацию firebase).
Через веб-консоль браузера.
var auth = firebase.auth();
auth.removeAuthTokenListener;
печатает определение функции, которое принимает один параметр. Я попытался сделать следующее:
this.authListener = firebase.auth().onAuthStateChanged(function (user) {...});
firebase.auth().removeAuthTokenListener(this.authListener);
но это ничего не делало.
Ответы
Ответ 1
В соответствии с документацией функция onAuthStateChanged()
возвращает
Функция отмены подписки для наблюдателя.
Итак, вы можете просто:
var unsubscribe = firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
И затем:
unsubscribe();