一个方法里有多个带条件执行的异步方法,如何让这些异步方法都执行完成之后再执行后续方法?
有多个异步函数都执行完成之后,才能执行其他的代码,可以使用Promise.all() 方法
let P1 = new Promise(function(resolve, reject) {
setTimeout(function() {
console.log(11);
resolve("p1 data")
}, 500)
})
let P2 = new Promise(function(resolve, reject) {
setTimeout(function() {
console.log(2);
resolve("p2 data")
}, 500)
})
Promise.all([P1, P2]).then(function(results) {
console.log(results) // ["p1 data", ""p2 data""]
})
那只能等异步方法执行完后给发个消息回来,等所有异步方法消息都收到后,再继续执行后续代码。
promise.all 了解一下https://es6.ruanyifeng.com/#docs/promise#Promise-all