Promise then 第二个参数和 Promise.catch 的区别是什么?

发布于 2023-11-20 03:48:47 字数 905 浏览 35 评论 0

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

尐籹人

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文