我有一些问题要处理"并行"中的多次拒绝.当我们"等待并行"时,如何处理异步函数中的拒绝.
这是一个例子:
function in_2_sec(number) {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject('Error ' + number);
}, 2000);
})
}
async function f1() {
try {
let a = in_2_sec(3);
let b = in_2_sec(30);
return await a + await b; // awaiting in "parallel"
} catch(err) {
console.log('Error', err);
return false;
}
}
async function f2() {
try {
let a = await Promise.all([in_2_sec(3), in_2_sec(30)]);
return a[0] + a[1];
} catch(err) {
console.log('Error', err);
return false;
}
} …Run Code Online (Sandbox Code Playgroud)