【发布时间】:2018-09-29 16:11:38
【问题描述】:
我正在开发一个座位有限的流星预订应用程序。我的应用程序可以被多个用户并行使用,因此两个用户可能会尝试预订同一个座位。但根据业务逻辑,座位永远不会被超额预订。在 Java 中,我可以使用同步块来限制并行预订。我在流星/反应方面没有太多经验,所以不确定实现这一目标的正确方法是什么。
我目前的想法是使用反应性布尔值来创建锁,因此如果应用程序收到两个预订请求,那么它会同步处理它们并使第二个预订请求失败。由于座位将在第一次请求中分配。但我担心我是否会陷入僵局。因此,我正在寻求您的意见/帮助,以便以适当的方式实现这一点。
感谢您的建议!
【问题讨论】:
-
我假设正在谈论
node.js,因为看起来meteor正在使用节点。节点是单线程的,因此您无法获得真正的死锁。但是你可以做的是创建一个全局承诺,每次你启动一个进程时,你将这个承诺设置为当前的,然后你可以await或then这个承诺来确保它不会在最后一个。
标签: javascript mongodb reactjs meteor