Promise.all()

批量执行:Promise.all ([p1,p2,p3,...]) 用于将多个Promise实例,包装成一个行的Promise实例。

返回的实例就是一个Promise。

他接受一个素组作为参数,数组里可以是Promise对象,也可以是别的值,只有Promise对象会等待状态改变。

Promise的状态由p1 p2 p3 决定

只有 p1 p2 p3 的状态都编程fulfilled,p的状态才会变成fulfilled,此时 p1 p2 p3 的返回值组成一个数组,传递给p 的回调函数

 

function runAsync1() {
    var seven = new Promise (function (resolve, reject) {
        //异步操作
        setTimeout(function () {

            console.log("执行完成1")
            resolve("柒琪")
        },3000)
    });
    return seven;
}
function runAsync2() {
    var seven = new Promise (function (resolve, reject) {
        //异步操作
        setTimeout(function () {

            console.log("执行完成2")
            resolve("柒柒")
        },2000)
    });
    return seven;
}
function runAsync3() {
    var seven = new Promise (function (resolve, reject) {
        //异步操作
        setTimeout(function () {

            console.log("执行完成3")
            resolve("柒奇")
        },2000)
    });
    return seven;
}
//all并行执行多个异步操作(谁跑的慢,以谁为准执行回调)
Promise
  .all([runAsync1(),runAsync2(),runAsync3()])
  .then(function (results) {
  console.log(results)Promise
})

Promise.all并行执行多个异步操作(以谁跑的慢。以谁为准)

 

posted @ 2018-12-29 16:07  jade柒  阅读(580)  评论(0编辑  收藏  举报