Отмена подписки в FireStore onSnapshot слушатель, когда пользователь только что вышел из приложения - PullRequest
0 голосов
/ 02 июня 2019

Я столкнулся с проблемой, когда пытался реализовать отписку в firestore на приемнике Snapshot.Проблема в том, что когда я пытаюсь переопределить функционально кнопку «Назад», кнопка «Назад» не закрывает приложение, более того, я не уверен, что она отписывается от прослушивателя onSnapshot, и если он отписывается, то как закрыть приложение.

код того, что я пробовал:

platform.registerBackButtonAction(() =>{
        customer.unsubscribe();
      })
 this.unsubscribe = this.db.collection(this.collectionName).orderBy('name')
    .where("deleted","==",false)
    .onSnapshot(customerSnapshot =>{

уточнение: здесь клиент - поставщик, а отписавшийся - член данных в поставщике клиента.

Примечание: Я не хочу никакого подтверждения от пользователя относительно закрытия приложения, поэтому нет элементов управления предупреждениями

Также: Предоставляет ли firebase какой-либо механизм, с помощью которого мы можем проверить, что подписка была

Спасибо

1 Ответ

0 голосов
/ 02 июня 2019

Обычно лучше отписаться от слушателей вашей базы данных в методе жизненного цикла , например ionViewWillLeave или ionViewDidLeave.Чаще всего вы отказываетесь от подписки в методе, который противоположен тому, где вы подписались.Поэтому, если вы присоединяете своих слушателей в ionViewWillEnter, отмените их подписку в ionViewDidLeave.

Как только вы вызовете метод отписки и он вернется, слушатель будет удален.Но нет способа узнать, был ли он вызван методом отмены подписки, поэтому вам придется отслеживать его самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...