繁体   English   中英

Firestore 取消订阅不是功能

[英]Firestore unsubscribe is not a function

我在理解分离侦听器的 unsubscribe() 函数用法时遇到了一些麻烦。 每次用户单击按钮显示表以更改视图选项时,我都希望分离侦听器。 其实这是我的代码。 以前查询被称为取消订阅,如官方 Firestore 文档中所述(我还在我的项目中测试了文档中的相同示例代码),并且在控制台日志中始终返回unsubscribe is not a function

let query;

$(".btnShowTable").on("click", function () { 
   if(typeof query != "undefined") query.unsubscribe();
   createTable(param);
});

function createTable(param) {
   query = db.collection("test1/test2/"+param).orderBy("dataora", "desc").limit(10);
   query.onSnapshot(function (querySnapshot) {
      querySnapshot.docChanges().forEach(function (change) {
   // get datas
   });
 });

}

我应该在我的代码中更改什么?

query是一个Query类型的对象,你可以从 API 文档中看到它没有unsubscribe()函数。 您需要做的是按照文档中的说明进行操作 它说onSnapshot()返回一个取消订阅函数以在取消订阅时调用。

// subscribe to query results
const unsubscribe = query.onSnapshot(...)

// later, unsubscribe the listener
unsubscribe()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM