Promise.all处理同步请求


Promise.all处理同步请求

由于Promise.all的原理,其中一个promise出错,就直接暂停其他promise的执行。

使用async函数包裹,async函数必定返回resolve状态。

const resolvePadding = async (p)=>{
    try{
        const result = await p
        return {
            status:'success',
            data:p
        }
    }catch(error){
        return {
            status:'fail',
            data:error
        }
    }
}

const promise1 = new Promise((resolve,reject)=>{
    resolve(1)
})
const promise2 = new Promise((resolve,reject)=>{
    reject(2)
})
const promise3 = new Promise((resolve,reject)=>{
    resolve(3)
})
Promise.all([promise1,promise2,promise3].map(promise=>resolvePadding(promise))).then(res=>console.log(res),rej=>console.log(rej))


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM