firebase - Firebase:为什么将 Firestore .onSnapshot 分配给变量?
问题描述
查看Firestore 文档如下所示,作为如何将实时更新侦听器附加到 Firestore 数据的示例。我的问题是,为什么我需要将侦听器分配给变量?换句话说,我知道人们可能会将一个承诺分配给一个变量,以便它可以被return
编辑或await
编辑或.push
编辑到一个数组,但这些似乎都不适用于实时监听器,除非我错过了这一点?...为什么分配.onSnapshot
给 a var
?
var doc = db.collection('cities').doc('SF');
var observer = doc.onSnapshot(docSnapshot => {
console.log(`Received doc snapshot: ${docSnapshot}`);
// ...
}, err => {
console.log(`Encountered error: ${err}`);
});
解决方案
这允许您稍后删除观察者。在您的情况下,您可以通过调用取消订阅observer()
,这就是为什么我们通常unsubscribe
在detach a listener部分中调用它的原因。
推荐阅读
- openlayers - OpenLayers 6.5:以编程方式设置开始绘制的坐标
- google-sheets - Google表格错误中的IMPORTDATA函数
- javascript - 我从 react native 开始,如何正确安装 yarn?已经尝试过 google 和 YouTube
- ruby-on-rails - 您的 Ruby 版本是 2.7.0,但您的 Gemfile 指定了 3.0.0
- html - 缩进 HTML 元素、同一行还是嵌套元素?
- javascript - Webpack 不允许从 next.js 中的变量导入 es2020
- highcharts - zAxis值为0时如何在highcharts中显示点?
- firebase - 我可以让 logEvent 支持 Firebase 仪表板中显示的推荐事件以进行分析吗?
- c# - WebAPI:在同一条路由上返回通用对象:它是 RESTFUL 吗?
- reactjs - 从 htm5 localstorage 加载获取和过滤的 json