javascript - 如何分离firebase实时监听器?
问题描述
我使用的是 firebase 实时数据库版本 9,我使用这种方法来检索数据:
const refList= ref(
db,
`users/${uid}`
);
onValue(refList, (snapshot) => {
let allData = snapshot.val() === null ? [] : snapshot.val()
});
所以这是实时通信,因此这个 ref 必须使用监听器。我检查了他们的文档,他们说在没有任何代码示例的情况下在 ref 上使用 off() 方法。
refList.off()
这会删除听众吗?
解决方案
该onValue
调用现在返回一个函数,该函数(在调用时)删除监听器。所以:
const unsubscribe = onValue(refList, (snapshot) => {
let allData = snapshot.val() === null ? [] : snapshot.val()
});
然后后来:
unsubscribe();
推荐阅读
- c# - 使用 Newtonsoft 简化对象的反序列化
- c++ - if 语句在 Nucleo64 上不起作用,但在 Maple mini 上起作用
- python - 字段“insurance_primary_wage”不存在
- ruby-on-rails - Rails 5.2,Active Admin 添加指向索引页面的链接
- xcode11 - 导入 Swift 包管理器依赖项时出现“没有这样的模块”错误
- python - 根据列比较 xlsx 和 xlsm 文件并将数据保存到新的 xlsx
- javascript - 无法读取 null 的属性“loadChildren”中的 Angular 8 错误
- rubocop - Rubocop 没有忽略 db/schema.rb 文件
- azure - Azure Function App 处理时间可以通过延长 QueueMessage 的不可见性直到它被处理来延长吗?
- python - 如何在两个文件夹之间同步文件并在使用 python 在源位置更改日期戳时进行替换?