【发布时间】:2019-03-13 10:36:29
【问题描述】:
Firestore 文档说:
“在并发编辑的情况下,Cloud Firestore 会再次运行整个事务。例如,如果一个事务读取文档并且另一个客户端修改了任何这些文档,Cloud Firestore 会重试该事务。此功能可确保事务运行最新和一致的数据。”
我正在使用 cloud_firestore 包,我注意到这样做
final TransactionHandler transaction = (Transaction tx) async {
DocumentSnapshot ds = await tx.get(userAccountsCollection.document(id));
return ds.data;
};
return await runTransaction(transaction).then((data){
return data;
});
事务可能会运行多次,但总是在第一个事务之后返回。现在在并发编辑的情况下,第一笔交易数据可能不正确,所以这对我来说是个问题。
如何等待事务实际完成,即使它会运行多次并且在第一个完成后不返回?
【问题讨论】:
标签: firebase flutter google-cloud-firestore