然后如何最终使用承诺并捕获Javascript?

当一个诺言被兑现时,即被实现或被拒绝,将调用finally方法中指定的回调函数。该finally()方法还返回Promise。

这提供了一种方式来运行代码,无论承诺是成功实现还是被兑现之后,都可以运行。让我们看一个例子,

示例

new Promise(
   (resolve) => setTimeout(resolve("success"), 1000)
).then(val => console.log(val)).finally(() => console.log("承诺完成!"))

输出结果

success
承诺完成!

现在让我们看看如果诺言失败的话会发生什么-

示例

// No method get on undefined. This will throw an error
new Promise(() => undefined.get())
   .then(val => console.log(val))
   .catch(err => console.log("Failed!"))
   .finally(() => console.log("承诺完成!"))

输出结果

Failed! 
承诺完成!

注意,无论是失败还是成功,promise都会执行finally语句。