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