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){ //在这执行所有执行的完后的 } })