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。這是一種可能性還是我沒有正確理解它?
Firebase 原子增量如何在競爭條件下工作?
森林海
2023-06-09 17:30:13