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)
})