【发布时间】:2020-07-12 18:06:32
【问题描述】:
在 Express 中,是否可以处理对单个路由的请求一次一个?我有一个“结帐队列”,每次创建结帐时,库存都会减少。但是,同时创建结帐的POST 请求检查库存之前在第一个请求中减少,这导致超卖。 注意:请求只需要大约 300 毫秒,因此使用 Bull 或任何其他排队技术似乎有点过头了。 有什么方法可以配置路由以一次性接受请求一次?
我使用 Firestore 作为数据存储。
【问题讨论】:
-
您使用哪个数据库/存储?绝对应该在那里处理,而不是在应用程序级别。
-
@Animir 我使用 Firestore,但不幸的是,更新数据库和获取文档也是异步的。
-
看起来,你应该使用transactions
-
@Animir 我发誓,这个网站上每隔一段时间就会有人给出一个该死的答案,这让我很高兴。谢谢一百万:)
-
@BenBotvinick 您能否为您的问题提供代码解决方案,以便我们了解您的尝试。
标签: node.js express google-cloud-firestore