假设我有一个firestore云函数,它将在一个事务中添加一个base和一个player。
下面的代码会给我和玩家一样的底数吗?
const db = firebase.firestore();
const basesPromise = db.collection("bases").get();
const playersPromise = db.collection("players").get();
Promise.all([basesPromise, playersPromise])
.then(([bases, players]) => {
console.log("Bases:", bases);
console.log("Players:", players);
});更普遍的是,我想知道当我同时发出两个请求时,我从他们那里得到的结果是否彼此一致。
这些请求是否同时命中服务器,并返回彼此一致的数据?
非常感谢!
发布于 2019-06-18 10:49:31
Cloud Firestore不能保证任何两次读取都会产生相同的值。它们之间总是有可能发生变化的,不管是不是通过事务。在您的代码中,这两个查询实际上不是“同时”发生的。在最好的情况下,来自客户端的请求实际上是通过单个连接传输的。
您得到的唯一保证是,由单个事务或批处理写入对一定数量的文档进行的修改将全部自动发生。不存在部分完成的事务或批处理。
https://stackoverflow.com/questions/56640966
复制相似问题