在firebase中,我们可以做这样的交易
final dataRef = database.reference()。child(‘path / to / data’);
dataRef.runTransaction((MutableData transaction)async { transaction.value =(交易….
我刚看了一眼,看来我们现在可以做到这一点。
首先,“一旦Dart函数开始执行,它将继续执行直到它退出。换句话说,Dart函数可以被其他Dart代码中断。”, REF (除了,这是一个很大的 除了 await 关键词,即使在技术上使用 await 已经中断并返回代码 Future )
await
Future
其次,看着 RxDart源代码 ,两者 add 和 setter 是同步的(没有 Future 不,不 await ),所以下面的代码很简单,保证作为一个事务:
add
setter
subject.add(subject.value + 2);