Firebase 原子增量可用于更新或设置。但是他们不会在完成时返回更新的值。所以,我必须在更新或设置后立即使用 once('value') :
var submitref = firebase.database().ref('/sequence/mykey')
return submitref.set(firebase.database.ServerValue.increment(1)).then(_=>{
return submitref.once('value').then(snap=>snap.val());
});
让我们假设 2 个线程正在同时执行此代码。submitref.set() 可以正常工作,因为原子增量。但是,如果它们同时完成 submitref.set() 并同时执行 submitref.once('value'),则两个线程将收到相同的递增值 +2。
这是一种可能性还是我没有正确理解它?
隔江千里
慕娘9325324
相关分类