MST

星途 面试题库

面试题:JavaScript中使用Promise处理异步错误的方式

在JavaScript中,使用Promise进行异步操作时,通常有哪些方式来捕获和处理异步过程中产生的错误?请举例说明。
31.9万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

在JavaScript中,使用Promise进行异步操作时,捕获和处理异步过程中产生错误的方式主要有以下两种:

  1. .catch()方法 通过链式调用.catch()方法来捕获Promise链中任何一个环节抛出的错误。
function asyncFunction() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            reject(new Error('异步操作出错'));
        }, 1000);
    });
}

asyncFunction()
   .then(result => console.log(result))
   .catch(error => console.error('捕获到错误:', error.message));
  1. try...catch结合async/awaitasync函数内部使用try...catch块来捕获await表达式可能抛出的错误。
async function asyncFunction() {
    try {
        await new Promise((resolve, reject) => {
            setTimeout(() => {
                reject(new Error('异步操作出错'));
            }, 1000);
        });
    } catch (error) {
        console.error('捕获到错误:', error.message);
    }
}

asyncFunction();