firebase - 更新 Firebase 中的多个节点,但只通知侦听器一次
问题描述
我有以下结构(比这复杂一点,有多个级别和分支)我在 ZMainBranch 有一个侦听器,等待下面不同级别的更新。
我有一个基于在不同分支上更改的数据的函数,它在 ZMainBranch 下更新此属性。
问题是 ZMainBranch 上的更新是通过多个步骤完成的,这会多次调用 ZMainBranch 上的侦听器。
我想要的是一次完成所有更新,这样监听器只会被调用一次。
一种解决方案是在 ZMainBranch 级别进行更新,但这需要读取孔数据,对其进行映射,更改需要更改的内容然后写入,这对于分支下各处的小改动有很多工作要做。
解决方案
如果您在一个位置执行多次写入,则可以预期该位置的活动侦听器可能会被多次调用。要避免这种情况,您无能为力。
您的替代方法是将所有对不同子项的写入折叠到单个多位置更新中。也可以使用事务,只要您的所有客户端都在该位置进行写入协调。
阅读有关多位置更新的信息:
https://firebase.googleblog.com/2015/09/introducing-multi-location-updates-and_86.html
推荐阅读
- c# - odata webapi 调用超时“偶尔”
- linux - 在bash中提取x之间的数字的最简单方法
- python - 从未堆叠的数据中确定 1 的每日连续观察的长度和开始 - 熊猫
- node.js - nodejs:执行查找查询以选择需要异步运行的最后 n 条记录
- machine-learning - 如何使用 gensim fasttext wrapper 训练词嵌入表示?
- javascript - 重置在 dom level-ng-multiselect-dropdown 中不起作用
- algorithm - 用它们的绝对差替换两个元素并生成数组中的最小可能元素
- reactjs - 在 react redux 中全局存储用户数据以用于登录注销目的
- android - 从梯形裁剪创建矩形位图
- java - 杰克逊将 json 转换为字符串和列表的映射