我正在尝试创建一个用户使用 Firebase 随机匹配的游戏。
我匹配它们的想法是这样的:
- 用户 A 来了,读取游戏列表。如果没有任何游戏等待开始游戏。将自己设置为发起者,将对手设置为无效。
- 用户 B 来了,读取游戏列表。找到用户 A 的游戏(对手为空)并加入游戏(他成为对手)
- 如果用户 C 出现在用户 B 阅读游戏列表的那一刻和用户 B 将自己写为对手的那一刻之间会发生什么(对他来说,对手仍然是空的)。基本上是并发问题。
我已经阅读过有关交易的信息,但我不是 100% 确定它们在这种情况下会有所帮助(阅读没有对手的游戏,将对手写入其中一款游戏),因为我已经看到它们在增加价值而不是阅读/写入数据。