如何删除 DocumentSnapshot 事件的侦听器(Google Cloud FireStore)

Posted

技术标签:

【中文标题】如何删除 DocumentSnapshot 事件的侦听器(Google Cloud FireStore)【英文标题】:How to remove listener for DocumentSnapshot events (Google Cloud FireStore) 【发布时间】:2018-03-20 10:32:13 【问题描述】:

我是 Google Cloud FireStore 的新手。

Document 对象有一个函数调用onSnapshot 来附加一个DocumentSnapshot 事件的侦听器。

是否有移除该监听器的功能(如 offSnapshot)?如果没有,我该如何实现?

【问题讨论】:

【参考方案1】:

在 web 和 node.js SDK 的情况下,调用 onSnapshot 会返回一个函数,您需要将其保存在一个变量中,并在您想要移除监听器时调用。

var unsubscribe = db.collection("cities").onSnapshot(function (querySnaphot) 
  // do something with the data.
);


// Stop listening to changes
unsubscribe();

其他 SDK 提供类似的功能。

参考https://firebase.google.com/docs/firestore/query-data/listen#detach_a_listener。

【讨论】:

在 ts angular 中做什么? 我们需要在 Angular 中这样做吗?

以上是关于如何删除 DocumentSnapshot 事件的侦听器(Google Cloud FireStore)的主要内容,如果未能解决你的问题,请参考以下文章

Firestore 获取 DocumentSnapshot 的字段值

在 Flutter 中将 Firestore DocumentSnapshot 转换为 Map

如何在飞镖/颤振中设置或删除地图标记

从 documentSnapshot 获取 Cloud Firestore 文档参考

Flutter FCM:在数据消息中发送documentSnapshot

类 'List<DocumentSnapshot>' 没有实例 getter 'documents'