我在YouTube上以Google Cloud Firestore为例,成功地获得了实时更新。然而,我不知道如何取消订阅更新,因为视频中没有解释。我阅读了文档来创建一个unsubscribe((函数,但它对我不起作用
getRealtimeUpdates = function(document) {
firestore.collection("collection_name")
.onSnapshot(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
if (doc && doc.exists) {
const myData = doc.data();
// DO SOMETHING
}
});
});
}
firestore.collection().onSnapshot()
函数返回一个取消订阅函数。只要叫它,你就应该是guchi。
你也可以在这里找到另一个例子:如何删除DocumentSnapshot事件的侦听器(Google Cloud FireStore(
下面是我创建的一个应该可以工作的片段:
let unsubscribe;
getRealtimeUpdates = function(document) {
unsubscribe = firestore.collection("collection_name")
.onSnapshot(function(querySnapshot) {
querySnapshot.forEach(function(doc) {
if (doc && doc.exists) {
const myData = doc.data();
// DO SOMETHING
}
});
});
}
// unsubscribe:
unsubscribe();
相应Firebase文档的路径:
https://firebase.google.com/docs/reference/js/firebase.firestore.CollectionReference#onSnapshot
返回可以调用取消订阅函数来取消快照侦听器。