Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firestore取消订阅不是一项功能_Javascript_Firebase_Google Cloud Firestore - Fatal编程技术网

Javascript Firestore取消订阅不是一项功能

Javascript Firestore取消订阅不是一项功能,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我在理解用于分离侦听器的unsubscribe()函数用法时遇到一些问题。 我希望每次用户单击“显示表”按钮以更改视图选项时分离侦听器。 实际上这是我的代码。 先前的query被称为unsubscribe,正如Firestore官方文档(我还测试了我项目中文档中的相同示例代码)和控制台日志中所述,始终返回unsubscribe不是一个函数 let query; $(".btnShowTable").on("click", function () {

我在理解用于分离侦听器的unsubscribe()函数用法时遇到一些问题。 我希望每次用户单击“显示表”按钮以更改视图选项时分离侦听器。 实际上这是我的代码。 先前的query被称为unsubscribe,正如Firestore官方文档(我还测试了我项目中文档中的相同示例代码)和控制台日志中所述,始终返回
unsubscribe不是一个函数

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
是一个类型对象,您可以从API文档中看到它没有
unsubscribe()
函数。您需要做的是按照中的说明操作。它表示当需要取消订阅时,返回一个要调用的取消订阅函数

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

// later, unsubscribe the listener
unsubscribe()