首页 > 解决方案 > 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}`);
});

标签: firebasegoogle-cloud-firestore

解决方案


这允许您稍后删除观察者。在您的情况下,您可以通过调用取消订阅observer(),这就是为什么我们通常unsubscribedetach a listener部分中调用它的原因。


推荐阅读