javascript如何在foreach循环完成之后执行一个回调函数
作者:Hansel.Wn
forEach()是前端开发中操作数组的一种方法,主要功能是遍历数组,其实就是 for 循环的升级版,下面这篇文章主要给大家介绍了关于javascript如何在foreach循环完成之后执行一个回调函数的相关资料,需要的朋友可以参考下
常规方法
代码如下面demo所示,在foreach的回调函数中进行判断,当循环到数组最后一位元素的时候,执行回调函数:
function callBack(){
console.log('all done');
}
function f(){
var count = 0;
var arrTemp = [1, 2, 3];
arrTemp.forEach((item, index, arr) => {
count++;
if(count === arr.length){
this.callBack();
}
})
}
f()

使用Promise实现
实际工作中,当目标数组的元素内容比较复杂,在回调函数中没有办法进行简单的逻辑判断时,可以使用Promise.all 方法实现:
Promise.all(
[1,2,3].map((item) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log("in async function, item is" + item);
resolve(item)
},Math.random()*2000)
})
})
).then((result) => {
console.log("all done");
console.log("result are:", result);
})

总结
到此这篇关于javascript如何在foreach循环完成之后执行一个回调函数的文章就介绍到这了,更多相关foreach循环完成后执行回调函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
