【发布时间】:2021-04-01 12:12:18
【问题描述】:
我了解 firebase 事务有时会将数据读取为 null,但随后循环再次运行,直到从服务器获取并提交该值。但是,我面临一种独特的情况,即事务读取空数据并提交我在为空的情况下返回的值。请查看随附的代码。
deductTransaction.transaction((current_value) => {
if (current_value != null) {
return current_value - cost;
}
return 25;
});
在上面的代码中,“deductTransaction”是我要更新的数据(数字)的路径
上面的代码在某些情况下运行良好,即循环再次运行以防读取 null,有时它只运行一次,即使该路径上有一些数据,也会将值读取为 null 然后提交 25 从而破坏原始数据
P.S:我的头发快要拔掉了,所以非常感谢任何帮助
【问题讨论】:
-
根据标签,您似乎在云函数中使用此事务。能否添加 Cloud Function 的整个代码?
标签: javascript node.js firebase firebase-realtime-database google-cloud-functions