2021年5月4日星期二

JavaScript异步编程4——Promise错误处理

论述了Promise如何进行错误处理。

目录
  • 1. 概述
  • 2. 详论
  • 3. 参考

1. 概述

在上一篇文章《JavaScript异步编程3——Promise的链式使用》中,通过Promise的链式使用,避免程序中多次嵌套回调(回调地狱)。根据前面的文章我们可以知道,Promise是基于状态的,成功/失败的状态会分别去处理相应的回调函数。一般而言,失败的状态我们希望能够捕获它,将它像异常(Error)一样处理。

2. 详论

Promise的then()方法有两个参数,一个是成功的回调函数,一个是失败的回调函数。可以将失败的回调函数这个参数省略掉,而使用Promise的catch()方法,捕获失败的异常。例如,我们把上一篇文章中的例子改进一下:

$(function () { function get(url) {    return new Promise(function (resolve, reject) {     var req = new 

改进前与改进后的程序处理流程很相似,但是还是有细微的差别。前者通过Promise的then()处理异常,只会运行功能的回调函数和失败的回调函数其中的一个;后者通过catch()处理异常,则更加像JavaScript的try/catch,在try{}中发生的错误会立即转到catch{}块。这样的话,就很容易实现类似于try/catch异常操作的的非阻塞异步版本:

$(function () { function get(url) {    return new Promise(function (resolve, reject) {     var req = new 

在上面这个改进的例子中,第一个then()和第二个then()中如果存在错误,就会将异常转到catch()中,而第三个then(),则是程序无论如何都会往下继续运行的。

3. 参考

  1. JavaScript Promises: An introduction








原文转载:http://www.shaoqun.com/a/720764.html

跨境电商:https://www.ikjzd.com/

四海商舟:https://www.ikjzd.com/w/1516

55海淘网:https://www.ikjzd.com/w/1723


论述了Promise如何进行错误处理。目录1.概述2.详论3.参考1.概述在上一篇文章《JavaScript异步编程3——Promise的链式使用》中,通过Promise的链式使用,避免程序中多次嵌套回调(回调地狱)。根据前面的文章我们可以知道,Promise是基于状态的,成功/失败的状态会分别去处理相应的回调函数。一般而言,失败的状态我们希望能够捕获它,将它像异常(Error)一样处理。2.详论
ad公司:https://www.ikjzd.com/w/1332
costco:https://www.ikjzd.com/w/1680
google趋势:https://www.ikjzd.com/w/397
目前最全的亚马逊Amazon跟卖与反跟卖攻略!:https://www.ikjzd.com/tl/97995
嫁给我前 她与前男友上床告别:http://www.30bags.com/a/252541.html
有得赚了!亚马逊波兰站掘金通道正式开启!更多生意等您来分!:https://www.ikjzd.com/home/142796

没有评论:

发表评论