有时我需要等待 .forEach()
方法完成,主要是在“加载器”函数上。我就是这样做的:
$q.when(array.forEach(function(item){
//iterate on something
})).then(function(){
//continue with processing
});
我忍不住觉得这不是等待 .forEach()
完成的最佳方式。最好的方法是什么?
最佳答案
如果 forEach
内没有异步代码,则 forEach
不是异步的,例如在以下代码中:
array.forEach(function(item){
//iterate on something
});
alert("Foreach DONE !");
forEach
完成后您将看到警报。
否则(你内部有异步的东西),你可以将 forEach
循环包装在 Promise 中。 :
var bar = new Promise((resolve, reject) => {
foo.forEach((value, index, array) => {
console.log(value);
if (index === array.length -1) resolve();
});
});
bar.then(() => {
console.log('All done!');
});
信用:@rolando-benjamin-vaz-ferreira
关于javascript - 等待 .forEach() 完成的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38406920/