1

使用异步语言(node.js在我的情况下)我经常会得到一个二维循环,response最后是一个:

firstArray.forEach(function(first){
     sencondArray[first].forEach(function(second){

         doStuff(function callback(resultSum){
             if(isLastCallback(this))
                 response.send(resultSum);
         });

     });
});

我获得正确结果的第一种方法是使用提供的两次迭代isLastCallback的计数器,但结果一团糟。iforEach

检测当前运行callback是否是最后一个的常用方法是什么?

4

1 回答 1

3

我认为您正在寻找的是进行几次异步调用,然后组合结果。您应该查看异步模块。你可能想要async#parallel. 它将并行运行您的异步函数,然后使用包含所有结果的数组调用最终回调。

于 2013-06-10T08:18:53.850 回答