首页 > 解决方案 > 在 Node.js 中完成上一个作业后如何处理下一个作业

问题描述

我知道 node.js 主要是异步工作的,但是如果我想在前一个工作完成后处理一个工作怎么办。我想要的是,我想在队列中循环并获得下一个要处理的工作。如果工作已经处理,我得到下一个。问题是,因为这个过程是异步的,下一个作业是在前一个作业完成之前获取的。

    jobs.ForEach( async job => {
      await process(job);
    });

那么,如何才能在 process(job) 完成后完成下一次迭代。具有讽刺意味的是,我想使 for 循环同步。我可以通过使用 EventEmitter 来解决它并在 process() 实现中发送一个完成事件,以通知该过程已完成。但是有没有更清洁的方法来实现这一目标?

标签: javascriptnode.jsasync-await

解决方案


推荐阅读