JavaScript在forEach循环结束后执行回调的两种实现方式

作者:半夏

时间:2026-10-31

浏览:602

本文介绍在JavaScript中如何在forEach循环结束后执行回调函数的两种方法。常规做法是在循环内部通过计数器判断是否到达数组末尾;对于复杂逻辑或异步操作,推荐使用Promise.all结合map方法,确保所有异步任务完成后统一执行后续逻辑。

文章目录

常规方法

参考下方示例代码,可以在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循环完成后执行回调函数的介绍已结束,更多相关内容请查阅本站往期文章或继续浏览下方推荐内容,感谢支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章