首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.JS : forEach vs for loop Asynchronous性质

Node.JS : forEach vs for loop Asynchronous性质
EN

Stack Overflow用户
提问于 2013-01-07 09:37:07
回答 1查看 2.8K关注 0票数 1
代码语言:javascript
复制
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的所有异步函数,但实际上并不等待回调完成

但是第二个(在我的一个项目中)似乎在等待回调并继续数组中的下一项?

它们都是一样的吗?

EN

回答 1

Stack Overflow用户

发布于 2013-01-07 10:04:36

除了第二个是50而不是49之外,它们在功能上是相同的。在继续下一次迭代之前,两者都不会等待回调,并且在这两种情况下,每次调用都会将当前的0...49值作为functionWrappingAsycfuncs的本地参数捕获,因此它们都将记录0 1 2 3...

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14188759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档