测试内容
上一篇文章中我们简单的介绍了JavaScript的新Promises API,错误处理以及链式Promises的概念。在实际开发中,我们经常需要将Promises进行链式合并来排队处理异步操作。但是,很多时候我们需要跟踪任务完成的顺序来根据上一个任务的结果进行下一个任务。由于异步任务可以以任何书序完成,在进行异步操作时保持队列就成了一个巨大的挑战。本文将具体阐述其中的细节部分。 深入研究链式Promise我们已经知道了链式Promise要使用到then()方法。现在,我们来深入理解一下调用call()方法后真正发生了什么。考虑下面的代码:
假设getPromise()函数构造了一个新的Promise并且返回了它。你应该注意到then()的返回类型是一个新的Promise对象。在上面的例子中,line1反悔了一个新的Promise。我们也已经将一个回调函数传递给了then()。回调函数返回的值用来完成或者拒绝这个promise。但是,如果这个回电函数返回另一个Promise,这个新的Promise(由then()返回的)当且仅当在这个Promise成功是才能成功。 我们也在line 3添上了另一个then(),它将等待line 2返回的Promise。传递给它的回调函数将连同这个Promise的成功返回值一起被调用。你可以想这样来保持链式Promise。如果你需要处理任何的错误,可以在后面加上catch(),就像上一篇文章汇总提到的那样。 既然我们现在已经了解了链式Promise是怎样运行的了,我们可以进一步看看异步操作是怎样按顺序执行的。但是之前你需要了解一些额外的事情。 [编辑:admin]
|
本资讯及文章仅代表发表厂商及作者观点,不代表叶子猪本身观点!