出于某种原因,当我使用 async.parallel() 时,永远不会打印“yyyyyyyyy”字符串,如下所示。为什么是这样?我认为一旦其他两个函数被调用,最后一个函数就会被调用。
var async = require('async');
async.parallel([
function() {
console.log('xxxxxxxxxxx');
},
function() {
console.log('ccccccccccc');
}
], function(err, results){
console.log('yyyyyyyyy');
});
最佳答案
将第一个参数传递给 async.parallel
的每个 function
都应该采取一个 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');
});
如果其中一个函数
发生错误,它应该调用回调
:
callback(err);
以便async
知道发生了错误,并且它会立即调用最后一个函数
。
关于node.js - async.parallel() - 最后一个函数未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179197/