Promise then 第二个参数和 Promise.catch 的区别是什么?
Promise.then()
方法可以接受两个参数,第一个参数是 onFulfilled
回调函数,第二个参数是 onRejected
回调函数。当 Promise 状态变为 fulfilled
时,将会调用 onFulfilled
回调函数;当 Promise 状态变为 rejected
时,将会调用 onRejected
回调函数。其中,第二个参数 onRejected
是可选的。
Promise.catch()
方法是一个特殊的 Promise.then()
方法,它只接受一个参数,即 onRejected
回调函数。如果 Promise 状态变为 rejected
,则会调用 onRejected
回调函数;如果状态变为 fulfilled
,则不会调用任何回调函数。因此, Promise.catch()
方法可以用来捕获 Promise 中的错误,相当于使用 Promise.then(undefined, onRejected)
。
区别主要在于使用的方式不同。 Promise.then(onFulfilled, onRejected)
可以同时传递两个回调函数,用来处理 Promise 状态变为 fulfilled
或者 rejected
的情况;而 Promise.catch(onRejected)
则只能用来处理 Promise 状态变为 rejected
的情况,并且使用更加简洁明了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论