也就是,第一大步有N个ajax请求,每个分别回调,每个回调又有N个ajax请求,现在是N*2个请求。
然后第三大步又是N*N个请求的回调各有N个请求,现在是N的三次方个请求。
这样一直到第五步,形成N的5次方个请求。
我希望的是:
1、不要等第一步的五个请求都完成,再去进入第二大步,我希望每个链条能有多快就有多快。每一大步的任意一个请求完成,它个人都立即进入后一步,而不是等大步内的N个请求都完成才进入下一步。
2、每一个请求get到的数据都要传递给该请求的下一步。
用promise的写法怎么写?
希望看到伪代码。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问出这个问题,说明你对
promise的使用还并不清楚。说白了,你就是想要实现若干个互相之间不会相互干扰的操作链,不要用
一个大步这样的描述,你首先就把自己给绕晕了。每个操作后续都有N个操作,每个操作之间相互独立,每个操作完成立即执行它自己的后续。
单一的顺序操作链是这样的:
在promise的操作中,每一步都必须要要返回一个新的
promise,为什么要这样做?想明白这个问题,你就知道怎么做了。理论上每个
promise都可以链接无数个后续动作,想要链接多个动作,这么写就行了:start后面接了move1和move2move1后面接了move11和move12move2后面接了move21和move22写段简单的代码:
Promise.all() 并发执行
这应该是一个单子变换的问题。
我很好奇,什么样的应用场景需要并发这么多ajax请求?
可以先将ajax转换成promise的方式,然后分步调用.
Promsie.all等所有的promise链完成调用之后才触发.
按你的意思第一大步并不依赖上一大步的所有结果,如果是这样,
试试看下面的模拟代码,可以到Console中直接运行
结果类似这样