首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个并发读取请求的结果是否彼此一致?

两个并发读取请求的结果是否彼此一致?
EN

Stack Overflow用户
提问于 2019-06-18 10:20:23
回答 1查看 80关注 0票数 0

假设我有一个firestore云函数,它将在一个事务中添加一个base和一个player。

下面的代码会给我和玩家一样的底数吗?

代码语言:javascript
复制
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);
    });

更普遍的是,我想知道当我同时发出两个请求时,我从他们那里得到的结果是否彼此一致。

这些请求是否同时命中服务器,并返回彼此一致的数据?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-18 10:49:31

Cloud Firestore不能保证任何两次读取都会产生相同的值。它们之间总是有可能发生变化的,不管是不是通过事务。在您的代码中,这两个查询实际上不是“同时”发生的。在最好的情况下,来自客户端的请求实际上是通过单个连接传输的。

您得到的唯一保证是,由单个事务或批处理写入对一定数量的文档进行的修改将全部自动发生。不存在部分完成的事务或批处理。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56640966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档