温馨提示×

JavaScript Promise如何处理错误

小樊
83
2024-10-30 18:06:26
栏目: 编程语言

在JavaScript中,Promise是一种用于处理异步操作的对象。它有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。当Promise被拒绝(rejected)时,你需要处理错误。你可以使用.catch()方法或者.then()方法的第二个参数来处理错误。

以下是使用.catch()方法处理错误的示例:

const promise = new Promise((resolve, reject) => {
  // 异步操作
  setTimeout(() => {
    reject('出错了');
  }, 1000);
});

promise
  .then(result => {
    console.log(result);
  })
  .catch(error => {
    console.error('捕获到错误:', error);
  });

在这个例子中,我们创建了一个新的Promise,它在1秒后将自身设置为拒绝状态。然后我们使用.then()方法处理成功的结果,使用.catch()方法处理错误。

你也可以在.then()方法的第二个参数中处理错误:

const promise = new Promise((resolve, reject) => {
  // 异步操作
  setTimeout(() => {
    resolve('成功');
  }, 1000);
});

promise
  .then(
    result => {
      console.log(result);
    },
    error => {
      console.error('捕获到错误:', error);
    }
  )
  .catch(error => {
    console.error('捕获到错误:', error);
  });

在这个例子中,我们在.then()方法中提供了两个参数:第一个参数处理成功的结果,第二个参数处理错误。.catch()方法仍然可以用于捕获任何未被.then()方法处理的错误。

0