一个方法里有多个带条件执行的异步方法,如何让这些异步方法都执行完成之后再执行后续方法?

一个方法里有多个带条件执行的异步方法,如何让这些异步方法都执行完成之后再执行后续方法?

有多个异步函数都执行完成之后,才能执行其他的代码,可以使用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