javascript - 在 Node.js 中完成上一个作业后如何处理下一个作业
问题描述
我知道 node.js 主要是异步工作的,但是如果我想在前一个工作完成后处理一个工作怎么办。我想要的是,我想在队列中循环并获得下一个要处理的工作。如果工作已经处理,我得到下一个。问题是,因为这个过程是异步的,下一个作业是在前一个作业完成之前获取的。
jobs.ForEach( async job => {
await process(job);
});
那么,如何才能在 process(job) 完成后完成下一次迭代。具有讽刺意味的是,我想使 for 循环同步。我可以通过使用 EventEmitter 来解决它并在 process() 实现中发送一个完成事件,以通知该过程已完成。但是有没有更清洁的方法来实现这一目标?
解决方案
推荐阅读
- sql - 选择 Tier 值与上一行不同的行。按帐户编号和日期排序
- excel - 如何使用 Excel 根据条件从数组中获取范围
- python - for循环的输出有问题吗?
- javascript - 无法导入模块。一直告诉我找不到模块
- excel - 如果 Excel 中的条件公式不起作用
- javascript - NotFoundError:无法在 React with Flickity 上的“节点”上执行“removeChild”
- sql - 如何获取此 sql 查询
- c# - 发生未处理的异常时:ArgumentException:不支持关键字:'datatable'
- sql - SQL Developer 中用于测试查询的数字无效
- heroku - heroku CLI 通过令牌进行身份验证