我正在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
}
});
});
}
答案 0 :(得分:1)
firestore.collection().onSnapshot()
函数返回一个取消订阅函数。只要叫它,你就应该成为guchi。
您还可以在此处找到另一个示例:How to remove listener for DocumentSnapshot events (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
返回 可以调用取消订阅功能来取消快照侦听器。