nmx*_*mxl 3 javascript es6-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)})
Run Code Online (Sandbox Code Playgroud)
将承诺链接到.then(null, (error) {})而不是仅仅在概念上有什么区别吗.catch((err) => {})
Promise.catch()等于Promise.then(null, callback)。您可以互换使用这些。但是 Promise.catch 更具描述性,并具有以下优点:
.then(null, callback)null作为第一个参数.then()总而言之,没有功能差异。但是,.catch()描述性更强,代码更少,因此更胜一筹。
至于承诺链接,它没有任何影响,因为它们在功能上是相似的。