Firebase 给出 "maxretry" 错误

Firebase is giving "maxretry" error

我们使用 Firebase 作为我们移动应用程序的后端。我们的一些用户偶尔会收到错误 "maxretry",交易写入具有单个数值的路径。据我所知,我们没有多个用户或连接,也没有多次写入同一路径。可能是什么原因造成的?

我怀疑这是由于使用了很多小数位的浮点值造成的。这个错误在我本地发生过一次,我能够通过将精度限制在小数点后两位来解决它。可以这样吗?

-阿尔伯特

编辑:

这是导致此问题的代码:

return fireRef.child(fbPath).transaction(function(originalVal) {
  return func(originalVal, by_value);
}, _.noop, false)

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

function(originalVal, val) {
  return val + (originalVal || 0);
}

即使将精度限制为 2 位小数后问题仍然存在(偶尔会出现 maxretry 错误)。

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

我改用整数,再也没有问题了。