JavaScript 中 Promise 的 Reject 拒绝回调
这 Promise.reject()
函数 的最简洁方法 拒绝承诺 包含给定错误 然后你应该使用 .catch()
来处理错误。
const p = Promise.reject(new Error('Oops!'));
return p.catch(err => {
err.message; // 'Oops!'
});
使用 Promise 构造函数
当您使用 new
,你调用 Promise 构造函数 。
Promise 构造函数接受一个参数,一个 executor
功能。
Promise 构造函数然后执行 executor
具有 2 个参数的函数: resolve()
和 reject()
。
function executor(resolve, reject) {
typeof resolve; // 'function'
typeof reject; // 'function'
}
new Promise(executor);
要拒绝 executor 函数的承诺,您应该调用 reject()
带有 错误对象 。
const p = new Promise((resolve, reject) => {
reject(new Error('Oops!'));
});
return p.catch(err => {
err.message; // 'Oops!'
});
无错误拒绝
您可以拒绝任何值的承诺,而不仅仅是错误对象。
const p = Promise.reject(42);
return p.catch(err => {
err; // 42
});
然而,许多库和框架都假设承诺总是被错误拒绝。 所以你应该小心,如果你选择调用 Promise.reject()
具有不是错误的值。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论