.
3ss.cn

JavaScript中Promise的异步编程有异常处理方法

async+await的异常处理推荐使用try+catch语句将所有执行代码进行包裹,它将处理所有可能出现的异常,相当于在链式调用的最后面加上catch()方法:

"use strict";

async function task01() {
    console.log("run task 01");
}

async function task02() {
    throw new Error("task02 error");
    console.log("run task 02");
}

async function task03() {
    console.log("run task 03");
}

async function main() {
    try {
        await task01();
        await task02();
        await task03();
    } catch (e) {
        console.log(e);
    }
}

main();

也可以在主函数外部使用catch()方法来处理异常,但是我并不推荐这么做。

"use strict";

async function task01() {
    console.log("run task 01");
}

async function task02() {
    throw new Error("task02 error");
    console.log("run task 02");
}

async function task03() {
    console.log("run task 03");
}

async function main() {
    await task01();
    await task02();
    await task03();
}

main().catch(reason => {
    console.log(reason);
});

除此之外,你也可以使用try+catch语句块对单独的async函数语句块进行处理,预防可能出现的异常。

赞(0)
未经允许不得转载:互联学术 » JavaScript中Promise的异步编程有异常处理方法

评论 抢沙发