【发布时间】:2016-07-01 16:52:59
【问题描述】:
我正在尝试对一组项目运行 async.each。
对于每个项目,我想运行一个 async.waterfall。请参阅下面的代码。
var ids = [1, 2];
async.each(ids,
function (id, callback) {
console.log('running waterfall...');
async.waterfall([
function (next) {
console.log('running waterfall function 1...');
next();
},
function (next) {
console.log('running waterfall function 2...');
next();
}],
function (err) {
if (err) {
console.error(err);
}
else {
console.log('waterfall completed successfully!');
}
callback();
});
},
function (err) {
if (err) {
console.error(err);
}
else {
console.log('each completed successfully!');
}
});
return;
此代码的输出如下所示:
running waterfall...
running waterfall function 1...
running waterfall...
running waterfall function 1...
running waterfall function 2...
running waterfall function 2...
waterfall completed successfully!
waterfall completed successfully!
each completed successfully!
但我的意图是,我的理解是输出应该是这样的:
running waterfall...
running waterfall function 1...
running waterfall function 2...
waterfall completed successfully!
running waterfall...
running waterfall function 1...
running waterfall function 2...
waterfall completed successfully!
each completed successfully!
我一直在查看代码,但我不知道出了什么问题,有人知道我的代码或我对异步方法应该做什么的期望是否不正确吗?
谢谢!
【问题讨论】:
标签: javascript node.js asynchronous node-async