在firebase中,我们可以像这样做事务
final dataRef = database.reference().child('path/to/data');
dataRef.runTransaction((MutableData transaction) async{
transaction.value = (transaction.value ?? 0) + 1;
return transaction;
});我想知道我们在BehaviorSubject上也可以有同样的功能;就像这样
final subject = new BehaviorSubject<int>();
subject.add(1);
subject.add(2);
subject.add(3);
subject.runTransaction((int currentData) => currentData + 2);
// or
subject.add(subject.value + 2);
subject.stream.listen(print); // prints 7
subject.stream.listen(print); // prints 7发布于 2019-03-14 12:05:53
我只是看了一下,看起来我们目前可以做到这一点。
await关键字之外,它是一个很大的关键字,即使在技术上使用await已经是中断并在Future)add和setter都是同步的(没有Future,没有await),所以下面的代码是简单的,并保证作为一个Dart工作subject.add(subject.value + 2);https://stackoverflow.com/questions/55154648
复制相似问题