关于typescript:Promiseall方法中如果要在单个Promise中捕捉回调该怎么写呢

function a (p: number): Promise<number> {
    return new Promise((res, rej) => {
        if (p == 2) rej(100)
        setTimeout(() => {
            res(p)
        }, 2000)
    })
}

function b (p: number): Promise<number> {
    return new Promise((res, rej) => {
        if (p == 3) rej(200)
        setTimeout(() => {
            res(p)
        }, 2000)
    })
}

// 这里的catch也能够通过map函数对立加
Promise.all([a(1).catch(err => {
        console.log("出错了1111", err)
    }), b(3).catch(err => {
        console.log("出错了2222", err)
    })])
    .then(res => {
        console.log("后果是", res)
    })
    .catch(err => {
        console.log("出错了", err)
    })

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元

阿里云限时活动-1核2G-1M带宽-40-100G ,特惠价87.12元/年(原价1234.2元/年,可以直接买3年),速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

You may also like...

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据