0


javascript:在foreach循环完成之后执行一个回调函数

常规方法

代码如下面demo所示,在foreach的回调函数中进行判断,当循环到数组最后一位元素的时候,执行回调函数:

functioncallBack(){
    console.log('all done');}functionf(){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)=>{returnnewPromise((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);})

在这里插入图片描述


本文转载自: https://blog.csdn.net/Dominic_W/article/details/129452792
版权归原作者 Hansel.Wn 所有, 如有侵权,请联系我们删除。

“javascript:在foreach循环完成之后执行一个回调函数”的评论:

还没有评论