如您所知,async.parallel 是用这样的代码定义的:
async.parallel([
function (callback) {
callback(err, objects);
},
function (callback) {
callback(err, status);
},
function (callback) {
callback(err, status);
},
], function (err, results) {
//smth with results[N] array...
});
并行执行所有任务。objects
但是,我需要第一个函数(确切地说,是)的回调结果在第二个和第三个函数中可用。换句话说,第一步——第一个函数,第二个——(第 2 + 3 个与第一个函数的结果平行)。async.waterfall
似乎是个坏主意,因为:
- 在瀑布函数中不能并行工作
- 我无法访问堆栈的每个结果,只能访问最后一个。
有任何想法吗?谢谢!