小编Smi*_*row的帖子

Promise.all中的错误处理类似于async/await语法中的流

我有一些问题要处理"并行"中的多次拒绝.当我们"等待并行"时,如何处理异步函数中的拒绝.
这是一个例子:

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)

javascript asynchronous node.js async-await

9
推荐指数
1
解决办法
2984
查看次数

标签 统计

async-await ×1

asynchronous ×1

javascript ×1

node.js ×1