【发布时间】:2019-04-23 21:55:39
【问题描述】:
Get realtime updates with Cloud Firestore 显示如何订阅或收听文档更改。
db.collection("cities").doc("SF")
.onSnapshot(function(doc) {
console.log("Current data: ", doc.data());
});
上面的例子很有意义。我的问题涉及分离听众。是否准确地说,当我们想要分离/取消订阅/取消收听文档时,我们只需再次订阅同一个数据库引用?
...看起来就是这样,但我不清楚如何/为什么?
var unsubscribe = db.collection("cities")
.onSnapshot(function (){
// Respond to data
// ...
});
// Later ...
// Stop listening to changes
unsubscribe();
这似乎是不必要的混乱。 ...为什么不简单地有两种方法,.onSnapshot 和.offSnapshot?我想我看到的两个提供的示例之间的唯一区别是后者被分配给一个变量,并且该方法是在整个集合而不是单个文档上调用的。
那么,底线是:要取消订阅,请将.onSnapshot 方法附加到父集合并将其分配给变量?
【问题讨论】:
标签: javascript firebase google-cloud-firestore