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 事务更新值时根本不应该使用浮点类型。
我改用整数,再也没有问题了。
我们使用 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 事务更新值时根本不应该使用浮点类型。
我改用整数,再也没有问题了。