Firestore取消订阅更新

时间:2018-11-05 16:06:14

标签: javascript google-cloud-firestore

我正在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
				}
			});
		});
	}

1 个答案:

答案 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

  

返回   可以调用取消订阅功能来取消快照侦听器。