在 JavaScript 中,我们可以使用 catch
方法来捕获 Promise 内的错误并拒绝 Promise。以下是一个包含代码示例的解决方法:
function someAsyncFunction() {
return new Promise((resolve, reject) => {
// 异步操作
setTimeout(() => {
const success = Math.random() < 0.5;
if (success) {
resolve("操作成功");
} else {
reject(new Error("操作失败"));
}
}, 1000);
});
}
someAsyncFunction()
.then((result) => {
console.log(result);
})
.catch((error) => {
console.error(error);
});
在上面的代码中,someAsyncFunction
是一个返回 Promise 的异步函数。在异步操作完成后,如果成功,将调用 resolve
方法并传递成功的结果;如果失败,将调用 reject
方法并传递一个错误对象。
然后我们使用 .then()
方法来处理成功的结果,并使用 .catch()
方法捕获错误。如果在 Promise 内部发生错误,它将被传递到 .catch()
中,并执行相应的错误处理代码。
在上面的示例中,如果异步操作成功,将打印 "操作成功";如果失败,将打印错误信息。