Остановить запрос в реальном времени на пожарной базе Firebase - PullRequest
0 голосов
/ 30 октября 2018

У меня есть эта проблема: я делаю запрос в реальном времени с firebase firestore в javascript, мой код выглядит следующим образом:

   first = db.collection ("messages")
     .where ("codeConversation", "==", codeConversation)
     .orderBy ("date", "desc")
     .limit (25);

   first.onSnapshot (function (querySnapshot) {

// .. other execution

Я прочитал документацию о том, как остановить это, но я не понимаю, как его применить, говорит, что должно быть следующее:

var unsubscribe = db.collection ("cities")
     .onSnapshot (function () {});
// ...
// Stop listening to changes
unsubscribe ();

Я пытался заменить предыдущий код собственным запросом следующим образом, чтобы остановить его, но он не работал

var unsubscribe = db.collection ("messages")
         .where ("codeConversation", "==", codeConversation)
         .orderBy ("date", "desc")
         .limit (25) .onSnapshot (function (querySnapshot) {
     // ... other execution
 // Stop listening to changes
 unsubscribe ();

1 Ответ

0 голосов
/ 31 октября 2018

Тип переменной отписки - «Подписчик». Таким образом, вы можете вызвать метод unsubscribe () для этой переменной. Официальные документы немного вводят в заблуждение.

var collectionObservable = db.collection('students').doc('NnBOX9f9kvBKerGKdbAi').snapshotChanges();

var subscription = collectionObservable.subscribe(res => {
  console.log(res);
});

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