使用异步语言(在我的情况下为node.js
)我经常最终得到一个二维循环,最后是response
:
firstArray.forEach(function(first){
sencondArray[first].forEach(function(second){
doStuff(function callback(resultSum){
if(isLastCallback(this))
response.send(resultSum);
});
});
});
我获得isLastCallback
正确结果的第一种方法是使用i
次迭代提供的计数器forEach
,但结果却非常混乱。
检测callback
的当前运行是否是最后一次的常用方法是什么?
答案 0 :(得分:3)
我认为你要找的是做几个异步调用然后合并结果。您应该查看async模块。你可能想要async#parallel
。它将并行运行您的异步函数,然后使用所有结果的数组调用最终回调。