我的firebase数据上出现了无限的写操作。它可能是排队的firebase写道,在某种循环的结果(我还没有确定源。不是100%肯定它在我身边)。我该如何停止更新?它使firebase无法使用,因为我的客户端对该firebase的订阅现在也不断触发,因为它正在接收更改。
这里有什么帮助吗?看来这个场景应该在以前遇到,但我找不到任何东西。如何强制清除队列写入?
答案 0 :(得分:0)
当您在同一路径上有两个侦听器时,会发生这种情况,并且它们都在读取更改,操纵数据,然后将其写回。
大多数情况下,这会发生在像Backbone或Angular.js这样的库中,因为在某些时候,操作会删除或添加数据键,然后再发送“已更改”的请求。这会导致两个侦听器进入有关正确值的参数并保持相互覆盖。
多个客户端连接或者一个客户端在同一路径上有多个侦听器时,可能会发生这种情况。
停止写入的最简单方法是在安全规则中临时设置".write": false
,这将中止循环过程。然后,您可以恢复安全规则并探索错误,直到找出根本原因。