美文网首页
在JavaScript依照Resolve的顺序处理Promise

在JavaScript依照Resolve的顺序处理Promise

作者: 厚特儿 | 来源:发表于2021-07-05 14:46 被阅读0次

    在JavaScript的PromiseAPI中,要处理一个Promise的集合,有Promise.all()、Promise.any()、...等等,可是这些API要么要等全部的Promise都完成了,要么是任一个,而且只有一个Promise完成了,才能串接后续的处理,没有那种依照完成的先后顺序一个接一个串接后续处理的API,不过没关系,利用Promise的特性,我们也能做到类似的效果。

    Promise.all()+map()

    Promise后面串接then()方法,会在Promise完成的时候呼叫它,利用这个特性,加上Promise.all()及map(),我们可以做出一个接一个先完成先处理的效果。

    我的实验情景是这样的,我又5个Promise,这5个Promise个别会在完成的时候,吐出1~5的数字,但是完成的时间不一定。

    然后我有一个加法器 adder ,按照这5个Promises完成的先后顺序,一一地将结果丢给加法器执行赋值运算,然后将结果打印出来,这边我们就需要动用到Promise.all()及map(),直接看下图代码:

    预期的结果,应该会依次打印出4、2、1、3、5、15,让我们看执行结果。

    以上,这个将Promises根据完成的先后顺序处理资料的方式,提供给大家参考,如果有朋友有更好的方法,还望不吝赐教。

    相关文章

      网友评论

          本文标题:在JavaScript依照Resolve的顺序处理Promise

          本文链接:https://www.haomeiwen.com/subject/tqxiultx.html