任何人都可以解释下面的控制台日志打印的顺序吗?我使用的是异步版本1.4.23
回复包含两个项目
输出:标签1
标签2
标签2
标签4
标签3
标签3
async.parallel([
function(callback){
detailsData.list({}, function(err, response) {
if (!err) {
console.log("label 1");
async.each(response, function(item, cb) {
console.log("label 2");
itemList.getData(item, function(err, response) {
console.log("label 3");
}
cb(err);
});
});
}
callback(err);
});
},
function (callback) {
somefunction();
}], function (err) {
console.log("label 4");
}
为什么在标签4之前不打印标签3?
答案 0 :(得分:1)
您必须将callback
的{{1}}传递给async.parallel
而不是立即调用它,否则并行执行将不会等待每个。
async.each