【发布时间】:2017-04-28 04:39:04
【问题描述】:
考虑一种情况,瀑布中第一个函数的回调值需要在后续函数中多次使用以最终合并结果。在以下代码中,baseFn 应在回调中返回一个数组,然后应按照 subFn1 和 subFn2 中的指示逐个元素处理该数组。此后,必须将 subFn1 和 subFn2 的返回回调附加到一个新数组中以生成最终结果。我试图看看,是否有办法使用 async.series 和 async.apply 来实现这一点,但还没有走得更远。请指教。
async.waterfall ([
function baseFn(baseCb) {
//a method that gets an array of elements
return (null, elementArray);
},
function subFn1(elemArr, subFnCb) {
var elem = elemArr[0];
//a method that returns processed element
return (null, proc_elem1);
},
function subFn2(elemArr,subFnCb) {
var elem = elemArr[1];
//a method that returns processed element
return (null, proc_elem2);
},
function aggOut() {}
], function getOutput (err, out) {
console.log(out);
})
【问题讨论】: