tasks数组里有五个函数,如何使用nodejs让这五个函数并发执行
时间: 2024-09-18 14:07:21 浏览: 108
parallel-tasks-gradle-plugin:在同一模块中并发执行gradle任务
在 Node.js 中,如果你想要五个函数并发执行而不是按序执行,可以考虑使用 `async.parallel` 或者 `Promise.all`。这里以 `async.parallel` 为例:
```javascript
const { parallel } = require('async');
const tasks = [
() => doSomethingAsync1(),
() => doSomethingAsync2(),
() => doSomethingAsync3(),
() => doSomethingAsync4(),
() => doSomethingAsync5()
];
parallel(tasks, (errors, results) => {
if (errors) {
console.error('Some errors occurred:', errors);
} else {
console.log('Results:', results);
}
});
```
在这个例子中,`doSomethingAsync1()` 到 `doSomethingAsync5()` 都会被当作单独的任务并发运行。所有任务完成后,`parallel` 函数会接收到两个参数:一个是错误对象(如果有任何任务失败,它会有非空值),另一个是所有任务执行完毕得到的结果数组。
注意,由于 JavaScript 的全局事件循环限制,不可能同时执行无限个任务。因此,实际上这些函数会在可用系统资源允许的范围内尽可能并发执行。
阅读全文