您的位置:>新大话西游2>新版测试>图文列表>

测试内容

上一篇文章中我们简单的介绍了JavaScript的新Promises API,错误处理以及链式Promises的概念。在实际开发中,我们经常需要将Promises进行链式合并来排队处理异步操作。但是,很多时候我们需要跟踪任务完成的顺序来根据上一个任务的结果进行下一个任务。由于异步任务可以以任何书序完成,在进行异步操作时保持队列就成了一个巨大的挑战。本文将具体阐述其中的细节部分。

深入研究链式Promise

我们已经知道了链式Promise要使用到then()方法。现在,我们来深入理解一下调用call()方法后真正发生了什么。考虑下面的代码:

var newPromise = getPromise(someData).then(function(data){//line1     return getPromise(data)//line2 }).then(function(data){//line3     //使用data });    

假设getPromise()函数构造了一个新的Promise并且返回了它。你应该注意到then()的返回类型是一个新的Promise对象。在上面的例子中,line1反悔了一个新的Promise。我们也已经将一个回调函数传递给了then()。回调函数返回的值用来完成或者拒绝这个promise。但是,如果这个回电函数返回另一个Promise,这个新的Promise(由then()返回的)当且仅当在这个Promise成功是才能成功。

我们也在line 3添上了另一个then(),它将等待line 2返回的Promise。传递给它的回调函数将连同这个Promise的成功返回值一起被调用。你可以想这样来保持链式Promise。如果你需要处理任何的错误,可以在后面加上catch(),就像上一篇文章汇总提到的那样。

既然我们现在已经了解了链式Promise是怎样运行的了,我们可以进一步看看异步操作是怎样按顺序执行的。但是之前你需要了解一些额外的事情。

[编辑:admin]

叶子猪大话2-温馨提示:

扫一扫《大话西游2》二维码,加入大话西游2微信订阅号,专门为玩家提供最新攻略、资讯以及队伍招募,叶子猪大话2微信号:youxidhxy!赶紧邀请小伙伴,一起畅玩游戏!

分享到:
今日最新猜你喜欢
五阶克水炮携变态回血鬼寻队

xy2.yzz.cn/zhaomu/xian/201610-1018381.shtml

让你震撼 这个女魔成功单挑塔7!

xy2.yzz.cn/sy/video/201610-1018255.shtml

郁闷 系统给的名字不合法怪我咯

xy2.yzz.cn/forum/201610/1018119.shtml

大家爱看
玩家热议