gpt4 book ai didi

javascript - (JavaScript) 将 forEach 循环与内部回调同步

转载 作者:IT老高 更新时间:2023-10-28 21:59:35 24 4
gpt4 key购买 nike

我在双 forEach 循环中进行一些计算,如下所示:

array.forEach(function(element){
Object.keys(element).forEach(function(key){

/* some complex computations with asynchronous callbacks */

});
});

someFunctionHere();

有没有办法让循环在执行 someFunctionHere( ) 函数之前先完成?或者程序在继续 someFunctionHere( ) ...

之前知道循环是否完成的任何方式

我可能错过了一些论坛,但我发现的那些并没有帮助我实现我想要实现的目标,顺便说一下我在 NodeJS 中这样做的方式,我也在问是否有现有的库可以实现这一点。

我忘了添加这个还是应该是另一个问题?

有没有办法同步进行迭代,只有在当前迭代完成后才会进行下一次迭代? (对不起)

感谢您的帮助...

最佳答案

看看 async.js,尤其是它的 control flow语句,例如 each whilstuntil

使用 async.js 你可以得到你想要的。

在您的实际情况下,您需要的是 each 函数(以前称为 forEach),分别是 eachSeries 函数不会并行运行单个迭代,而是串行运行(参见 documentation for eachSeries 了解详情)。

举个例子:

async.eachSeries([ 2, 3, 5, 7, 11 ], function (prime, callback) {
console.log(prime);
callback(); // Alternatively: callback(new Error());
}, function (err) {
if (err) { throw err; }
console.log('Well done :-)!');
});

这将遍历素数数组并以正确的顺序打印它们,一个接一个,最后打印出干得好:-)!

关于javascript - (JavaScript) 将 forEach 循环与内部回调同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15162049/

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