在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()
方法处理的错误。