本文小编为大免费云主机域名家详细介绍“Node.js中的Promise异步编程怎么掌握”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.js中的Promise异步编程怎么掌握”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Promise就是一个用来存储数据的对象但是由于Promise存取方式的特殊,所以可以直接将异步调用的结果存储到Promise中调用方法就会有返回值,而调用then、catch、finally三种方法都会产生一个新的Promise对Promise进行链式调用时,后面的方法(then和catch)读取的是上一步的执行结果如果上一步的执行结果不是当前想要的结果,跳过当前的方法打印结果为:异常处理 没问题的数据
第二个then 嘻嘻上述示例中,reject绑定了异常的数据,下面的promise调用的第一个then方法显然不会接收reject绑定的那个的数据,即有问题的数据,所以第一个then被跳过,catch则专门用来接收有问题的数据和reject绑定的数据,所以进入和catch方法并打印 “没问题的数据” ,这个方法的结尾还有个return,这个return返回的 ”嘻嘻” 显然是个正常数据,执行完catch后返回了正常数据 “嘻嘻” 给新的promise,这个正确数据又被之后的 then方法捕捉到了,所以会把 ”嘻嘻” 接着打印出来;每次调用catch、finally、then都会产生一个新的promise当Promise出现异常时,而整个调用链中没有catch,则异常则会向外抛出所以一般都会在最后放catch方法,防止会有异常而没有相应的处理方法Promise的静态方法直接通过Promise类去调用,这些方法可以帮助我们完成一些更加复杂的异步操作创建一个立即完成的Promise需要有多个Promise需要执行,且需要多个Promise都执行完毕,再将结果进行统一处理,就使用Promise.all来处理语法: Promise.all(iterable)Promise.all([…]) 同时但会多个Promise的执行结果,其中有一个报错,就返回错误信息all需要一个数组(可迭代对象) 作为参数,数组种可以存放多个Promise上面的例子中,调用三次sum,且将其添加到数组中传递给all,调用all会返回一个新的Promise,当三次计算都完成后,新的promise也会变成完成状态,并将三次执行的结果封装到数组中返回。注意:在all中添加数据,如果出现了一个或者多个通过reject添加的错误信息,运行结果就会报错,一个错,整个就错Promise.allSettled( […]) 同时返回多个Promise的运行结果,无论成功还是失败但是会根据不同得到状态返回不同的数据成功:{status:”fulfilled”, value:result}失败:{status:”rejected”, reason:error}Promise.race race会返回首先执行完的Promise,而忽略其他未执行完的PromisePromise.Anyany和race类似,但是他只会返回第一个成功的Promise,如果所有的Promise都失败才会返回一个错误信息读到这里,这篇“Node.js中的Promise异步编程怎么掌握”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。
相关推荐: mysql8新特性binlog_expire_logs_seconds有什么作用
这篇“mysql8新特性binlog_expire_logs_seconds有什么作用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysql8…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。