Firebase出现“ maxretry”错误

ali*_*zar 5 firebase firebase-realtime-database

我们正在使用Firebase作为我们的移动应用程序的后端。我们的一些用户偶尔会因写入单个数值的路径而导致错误“ maxretry”。据我所知,我们没有多个用户或连接,也没有对同一路径的多次写入。是什么原因造成的?

我怀疑这是由于使用具有许多小数位的浮点值引起的。我一次在本地发生此错误,我可以通过将精度限制为两位小数来解决它。可以吗?

-阿尔伯特

编辑:

这是导致此的代码:

return fireRef.child(fbPath).transaction(function(originalVal) {
  return func(originalVal, by_value);
}, _.noop, false)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,func看起来像这样:

function(originalVal, val) {
  return val + (originalVal || 0);
}
Run Code Online (Sandbox Code Playgroud)

ali*_*zar 5

maxretry即使将精度限制为小数点后两位(每隔一段时间就会出现错误),问题仍然存在。

看起来在使用 Firebase 事务更新值时根本不应该使用浮点类型。

我转而使用整数,并且不再遇到问题。