gpt4 book ai didi

javascript - 为什么要使用 Promise.catch() 而不是 Promise.then()

转载 作者:行者123 更新时间:2023-11-29 10:02:54 25 4
gpt4 key购买 nike

我的 promise 链中某处有一个被拒绝的 promise ,就像这样。我知道以下代码的工作方式类似。

let promise = Promise.resolve(3);
let p1 = promise.then(() => 2)
.then(() => {throw 'some error'})
.then(null, (err) => {console.log(err)})


let p2 = promise.then(() => 2)
.then(() => {throw 'some error'})
.catch((err) => {console.log(err)})

.then(null, (error) {}) 而不是 .catch((err) => {}) 链接 promise 在概念上有什么不同吗>

最佳答案

Promise.catch() 等于 Promise.then(null, callback)。您可以互换使用这些。然而 Promise.catch 更具描述性,并具有以下优点:

  1. 阅读.catch 比阅读.then(null, callback)更容易知道这是一种错误处理机制
  2. 实际上代码更少,因为您可以省略 null 作为 .then() 的第一个参数

总而言之,没有功能差异。但是,.catch() 更具描述性,代码更少,因此更优越。

至于 promise 链,它没有任何效果,因为它们在功能上是相似的。

关于javascript - 为什么要使用 Promise.catch() 而不是 Promise.then(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51469141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com