【问题标题】:Handling multiple dependant queries in a nodejs function在 nodejs 函数中处理多个依赖查询
【发布时间】:2014-04-12 03:21:29
【问题描述】:

我有一个函数需要在数据库中查询满足特定条件的项目,然后遍历每个项目检查它是否满足多个进一步的条件,最后采取一些行动。

  1. 首先,获取具有特定状态的所有书籍
  2. 接下来,查看是否每本书都已签出
  3. 如果已签出,请查看谁拥有它,检索他们的电子邮件并向他们发送通知
  4. 无论已签出状态如何,都向图书管理员和图书所有者发送通知
  5. 更新数据库中的图书状态

我开始以非异步方式完成其中的一部分,并且它确实有效。但是,一旦我试图确定这本书是否已被签出,我就遇到了问题,因为在函数完成运行之前没有检索到该值。我尝试使用 Promise,但发现它们仍然无法及时恢复值,除非我将其余代码卡在 then 方法中,但这导致在 then 之前定义的所需值在其中不可用.

做这样的事情最好的方法是什么?需要在运行时从多个数据库表中动态填充多个值,但仅在某些条件下并且在迭代多个记录时才需要的东西?

【问题讨论】:

    标签: mysql node.js asynchronous


    【解决方案1】:

    甚至可以使用异步函数样式来实现同步处理(即,使用回调来处理某些处理块的结果)。

    因此,您应该使用异步样式实现新功能。

    我还建议返回并以异步方式重新实现现有的同步函数,因为稍后您可能会了解到某些处理可能需要比您预期的更长的时间(尤其是当您的系统开始增长时)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      • 2017-03-27
      • 1970-01-01
      • 2016-06-10
      • 2018-08-03
      • 2021-11-19
      相关资源
      最近更新 更多