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