forEach()里面使用异步函数,那如何等所有的异步函数都执行完再 进行下一步

两种方法

方法一

var arry = [...];

Promise.all(arry.map(function(elem){

  return new Promise(function(resolve, reject){

    ...

    resolve(result);

  })



})).then(function(data){

  //在这就可以等所有的返回结果可以得到

})

方法二

var arry = [...];

var counter = 0;

arry.forEach(function(elem){

  //异步回调中

  counter++;

  if(counter === arr.length){

    //在这执行所有执行的完后的

  }

})

 

posted @ 2020-06-08 13:48  前端先锋  阅读(10651)  评论(0编辑  收藏  举报