【发布时间】:2012-12-20 18:11:19
【问题描述】:
for(var i=0;i<50;i++) {
functionWrappingAsycfuncs(i)
}
var nums = [0,1...50]
nums.forEach(functionWrappingAsyncfuns)
functionWrappingAsycfuncs(i){
readFileAsync(i,function(){
console.log(i);
});
}
在上述函数中,在 for 循环中运行它的预期性质是记录 50 50 次? 但是对于 forEach 它确实记录了 1 2 3 ....
这两种实现看起来都一样,但执行的任务却截然不同 第一个函数以 0 到 50 作为参数调用所有异步函数,但并没有真正等待回调完成
但第二个(在我的一个项目中)似乎等待回调并继续数组中的下一项?
它们都一样吗?
【问题讨论】:
标签: javascript node.js asynchronous dom-events event-loop