当我们使用添加数据到Firestore和使用Transaction时有什么区别?我仍然不明白这种用法。因为他产生了相同的价值谢谢
答案 0 :(得分:0)
总之,我会说我们这样做是为了防止种族状况。
什么是比赛条件?
竞争状态是一种不希望的情况,当设备或系统尝试同时执行两个或多个操作时会发生这种情况,但是由于设备或系统的性质,必须按照正确的顺序进行操作正确完成
让我给你举个例子
假设您正在激活用户帐户。
要激活用户帐户,您将转到数据库并翻转值(从false
到true
)。同时,其他人也在尝试激活该帐户,他们还将翻转该值(从true
到false
)。
只是要警惕这些事情,我们使用过渡。在对数据库进行任何更改之前,我们先读取数据并确认。
如果您对我的回答不满意,请务必阅读Race Condition
,因为这是确切的答案。