美文网首页
当Promises的then方法链存在串联并联混联该怎么解决?

当Promises的then方法链存在串联并联混联该怎么解决?

作者: microkof | 来源:发表于2016-11-27 14:11 被阅读109次

本文假设你已经学习过了几篇Promises的文章,包括学习了我写的《我对Promises的理解》。

串联、并联和混联都是物理学的电路里的名词,希望你还没有忘记这几个词。

简述串联和并联

串联也就是then链条,这个没什么可说的,一路then下去就可以了。

并联也简单,我们知道Promise.all()和Promise.race()能解决promise并联的问题。

混联

混联就有意思了。举个例子:

案例1
假设,同时并发2个ajax,每个请求获得结果之后,各自再来一次ajax,每个请求获得结果之后,再各自来一次ajax,获得结果之后,把两个结果相加,最后把之和再来一次ajax,获得结果之后结束。

这个案例也就是:

A -> A1 -> A2 ----------↓
        做加法 --->C
B -> B1 -> B2 ----------↑

解决方案:非常简单,new两个Promise对象,各then两步,然后Promise.all()一次,把结果相加,然后再then一次就完事。

案例2
这次有支路。比如从A1并发两个后续ajax,其中一个是A2没错,另一个是A2.5。A2.5又有后续A3.5,然后A3.5的结果也参与到做加法。

解决方案:A1之后的then,创建2个promise对象,再算上B路线的对象,所以Promise.all()传入3个对象。

案例3
修改案例2,其中A3.5不参与加法计算,也就是形成了盲端。

解决方案:盲端意味着它的成功与失败都不妨碍别的线路,那么它就正常写,只是不要执行.reject()或者resolve()就可以了。

相关文章

  • 当Promises的then方法链存在串联并联混联该怎么解决?

    本文假设你已经学习过了几篇Promises的文章,包括学习了我写的《我对Promises的理解》。 串联、并联和混...

  • 混合动力汽车,串联、并联、混联都是怎么联的?

    日更第 365+164天。 我们知道汽车除了燃油车、纯电动车外,还有混合动力,今天给大家聊聊按联结方式分为哪几种。...

  • 串联与并联,兼谈区块链

    串联与并联,兼谈区块链 串联与并联是物理学或电力学上的名词;初中物理都学过。 “串联(series connect...

  • 详解LY结构,一种改变当前能源结构的混动车结构原理

    目前,电动车是发展趋势,混动车不被看好。混动车结构目前有三种:分别是串联式、并联式以及混联式,其中增程式混合动力只...

  • 运放的反馈方式及影响

    运放的反馈有四种:电流串联、电流并联、电压串联、电压并联反馈 判断反馈是并联还是串联:从反馈信号与输入信号是否同相...

  • 串联 并联

    左边一个故事 右边一个故事 串联又或者并联 塑料布下交错着深浅咖啡 谁挪了谁的碗 深深的方和浅浅的圆 ...

  • 并联串联

    把一件事情做好,同时达到两个,维度的提升,而不是一心二用。把有限的注意力创造两种意义,使得自己迅速成长。。边听音乐...

  • pod update/install error with CD

    uninitialized constant Concurrent::Promises 解决方式出处 怎么解决 or

  • “串联”和“并联”

    大部分人第一次接触“串联”“并联”这个词是在物理课堂上,串联分压,并联分流。我们每天所做的事情与事情之间也存在这样...

  • 电池串并联电路

    正确地串联和并联电池另外还有一些电池组,把串联和并联这两种方法结合起来。把四节3.6V锂离子电池串联起来,总电压达...

网友评论

      本文标题:当Promises的then方法链存在串联并联混联该怎么解决?

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