allSettled

45 阅读1分钟
const promiseOne = new Promise((resolve,reject)=>{
    setTimeout(resolve,3000)
})

const promiseTwo = new Promise((resolve,reject)=>
    setTimeout(reject,3000)
    )

Promise.all([promiseOne,promiseTwo])
.then(data=>console.log(data))
.catch(error=>console.log(error))

/*Promise.all 具有短路特性,如果参数中promise有一个失败了,这个实例回调就失败了*/
const promiseOne = new Promise((resolve,reject)=>{
    setTimeout(resolve,3000)
})

const promiseTwo = new Promise((resolve,reject)=>
    setTimeout(reject,3000)
    )

Promise.allSettled([promiseOne,promiseTwo])
    .then(data=>console.log(data))
    .catch(error=>console.log(error))
    /*Promise.allSettled 出现reject仍会继续执行*/
    /* 返回结果
   [
    {
        "status": "fulfilled",
        value: undefined
    },
    {
        "status": "rejected",
        reason: undefined
    }
   ]
    */