gpt4 book ai didi

javascript - Node.JS : forEach vs for loop Asynchronous nature

转载 作者:太空宇宙 更新时间:2023-11-03 23:10:31 34 4
gpt4 key购买 nike

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 作为参数的异步函数,但并不真正等待回调完成

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

它们都一样吗?

最佳答案

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

关于javascript - Node.JS : forEach vs for loop Asynchronous nature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188759/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com