var async = require('async');
async.parallel([
function(cb) {
cb(true);
},
function(cb) {
cb(null, true);
}],
function(error, results) {
}
);
在代码中,如果第一个任务在第二个任务之前运行 cb(true),那么第二个任务还会运行吗?如果是这样,完成后,还会调用主回调吗?
var async = require('async');
async.parallel([
function(cb) {
cb(true);
},
function(cb) {
cb(null, true);
}],
function(error, results) {
}
);
在代码中,如果第一个任务在第二个任务之前运行 cb(true),那么第二个任务还会运行吗?如果是这样,完成后,还会调用主回调吗?
async.parallel
并行执行所有功能。如果任何函数将错误传递给其回调(回调第一个参数不为空),则立即使用错误值调用主回调。所有功能都将被执行。
使用以下代码,您的执行将如下所示1, 3, 2, 2.1
:
var async = require('async');
async.parallel([
function(cb) {
console.info('1')
cb(true);
},
function(cb) {
console.info('2')
cb(null, true);
},
function(cb) {
console.info('2.1')
cb(null, true);
}],
function(error, results) {
console.info('3')
}
);
是的,第二个任务被调用(因为任务应该是异步的并立即退出)。async.parallel
回调从第一个失败的任务中调用错误