function requestFirst() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('第一个请求返回');
}, 1000)
})
}
function requestSecond() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('第二个请求返回');
}, 2000)
})
}
function requestThird() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject('第三个请求返回');
}, 3000)
})
}
let requestArr = [requestFirst(), requestSecond(), requestThird()]
Promise.all(requestArr).then(res => {
console.log('结果1', res);
}).catch(err => {
console.log('错误1', err);
})
// 错误1 第三个请求返回
// Promise.all错误处理
async function handleAllFunc(fun){
try{
let res = await fun
return res
}catch(err){
return err
}
}
Promise.all(requestArr.map(item => handleAllFunc(item))).then(res => {
console.log('结果', res);
}).catch(err => {
console.log('错误', err);
})
// 结果[“第一个请求返回”, “第二个请求返回”, “第三个请求返回”]