出于某种原因,' yyyyyyyyy'当我使用async.parallel()时,从不打印字符串。为什么是这样?我认为一旦调用了另外两个函数,就会调用最后一个函数。
var async = require('async');
async.parallel([
function() {
console.log('xxxxxxxxxxx');
},
function() {
console.log('ccccccccccc');
}
], function(err, results){
console.log('yyyyyyyyy');
});
答案 0 :(得分:3)
在function
的第一个参数中传递的每个async.parallel
都应该在其完成后调用callback
,async
知道它已完成:
var async = require('async');
async.parallel([
function(callback) {
console.log('xxxxxxxxxxx');
callback();
},
function(callback) {
console.log('ccccccccccc');
callback();
}
], function(err, results){
console.log('yyyyyyyyy');
});
如果其中一个functions
发生错误,则应使用
callback
callback(err);
以便async
知道发生了错误,并且会立即调用最后一个function
。