【发布时间】:2014-04-12 03:21:29
【问题描述】:
我有一个函数需要在数据库中查询满足特定条件的项目,然后遍历每个项目检查它是否满足多个进一步的条件,最后采取一些行动。
- 首先,获取具有特定状态的所有书籍
- 接下来,查看是否每本书都已签出
- 如果已签出,请查看谁拥有它,检索他们的电子邮件并向他们发送通知
- 无论已签出状态如何,都向图书管理员和图书所有者发送通知
- 更新数据库中的图书状态
我开始以非异步方式完成其中的一部分,并且它确实有效。但是,一旦我试图确定这本书是否已被签出,我就遇到了问题,因为在函数完成运行之前没有检索到该值。我尝试使用 Promise,但发现它们仍然无法及时恢复值,除非我将其余代码卡在 then 方法中,但这导致在 then 之前定义的所需值在其中不可用.
做这样的事情最好的方法是什么?需要在运行时从多个数据库表中动态填充多个值,但仅在某些条件下并且在迭代多个记录时才需要的东西?
【问题讨论】:
标签: mysql node.js asynchronous