promise的流程的实现
我有一个函数,里面new了三个promise,然后我需要怎么调用这个函数才能实现将这里面的三个promise一个一个的进行。
function ALL(arr){
function fun1{
var promise1=new promise;
}
function fun2{
var promise2=new promise;
}
function fun3{
var promise3=new promise;
}
}
all([fun1,fun2,fun3]).then.....
大概是这个意思。。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我知道我理解的对不对: 你有几个方法, 执行之后会返回
promise
, 你希望这几个promise
一个接一个执行,有点类似fun1().then(fun2).then(fun3)
;如果你用过
bluebird
,它有一个promise.map 应该可以满足你的要求;如果不想用
bluebird
, 可以定义一个简单的Promise
队列使用方法如下:
其实如果你能用 async/await 就更简单了:
Promise.all是并行的关系,虽然是都成功,但没有规定非要按照顺序执行。
http://liubin.org/promises-bo... 这个文档有详细的介绍
主要的思想还是得在上一个
promise
状态发生改变后,才去执行下一个promise
:promise.all是并行的,里面所有完成或第一个失败才结束。你想要一个一个来就链式链接,then(fun1).then(fun2)...
Promise.all
fun1 里面 return fun2() , fun2 里面 return fun3()