【发布时间】:2021-11-07 18:41:52
【问题描述】:
我正在寻找 nodejs 上的异步操作的解决方案 -> sequelize (mysql)
我有一个接收消息的端点(webhook),并执行以下操作:
[1]
sequelize.query(查找消息是否存在...)
[2]
如果 [1] 不存在,则 conversationsModel.create(....) 并返回 'X' 否则返回 'Y'(不创建对象)
而我的经验是,我的读者/作家之间就像一场“竞赛”。
我发现一些参考资料说“事务”在这种情况下可能会有所帮助,但如果我们不在同一个请求上下文中(不同的传入 API 请求) - 它是否应该有所帮助?
** 请注意,对于“读取”操作,我使用的是内联查询:
SELECT xxx FROM conversations where context="yyy" AND phoneNumber=:phoneNumber AND createdAt LIKE :time,`
对于“写”动作,我使用了 sequelize 模型:
await conversationsModel.create({phoneNumber: to.phoneNumber,context: "team",displayName: "xxx",externalId,message,type: "media",});
你们能建议一个合适的解决方案吗?
提前致谢。
【问题讨论】:
标签: mysql node.js sequelize.js