我正在尝试在 NodeJS 中的循环内编写一个循环,但我有点困惑,结果并没有给我我期望的结果——有时回调会被击中两次,依此类推。我正在使用异步模块,如果有人能告诉我在下面的代码中哪里可能出错,那就太好了。如果有更好的方法可以做到这一点,我会很感激任何提示。
it("should add some numbers", function(done){
var typed_totals = 0, i = 0;
async.each(arr1, function(value, callback1){
var j = 0;
async.each(arr2, function(element, callback2){
testFunction(function(result){
calculate(result, function(total){
typed_totals += total;
if(++j < arr2.length){
callback2();
} else if (++i <= arr1.length){
callback1();
} else {
done();
}
});
});
});
});
});
testFunction()
在我的情况下,http
请求并获得一些值。calculate()
从字面上看,只是将其中一些加在一起。
如果有任何不清楚的地方,请发表评论,我会根据需要编辑我的问题。