在Firebase Firestore上实时停止查询

时间:2018-10-29 21:57:08

标签: javascript firebase google-cloud-firestore

我有这个问题:我正在用javascript中的firebase firestore进行实时查询,我的代码如下:

   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 :(得分:0)

变量unsubscribe的类型是“ Subscriber”。因此,您可以在该变量上调用unsubscribe()方法。官方文档有些误导。

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

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

subscription.unsubscribe();