然后如何最终使用承诺并捕获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语句。