您好,登录后才能下订单哦!
小编给大家分享一下Promise如何按顺序执行,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Promise.all()的结果是按顺序输出的,但是执行是并行,要顺序执行Promise用他的than方法,但是这个太冗长了,如何用all方法做到顺序执行?
Promise.all并行执行promise
getA和getB并行执行,然后输出结果。如果有一个错误,就抛出错误
/**
*每一个promise都必须返回resolve结果才正确
*每一个promise都不处理错误
*/
constgetA=newPromise((resolve,reject)=>{
//模拟异步任务
setTimeout(function(){
resolve(2);
},1000)
})
.then(result=>result)
constgetB=newPromise((resolve,reject)=>{
setTimeout(function(){
//resolve(3);
reject('ErroringetB');
},1000)
})
.then(result=>result)
Promise.all([getA,getB]).then(data=>{
console.log(data)
})
.catch(e=>console.log(e));
getA和getB并行执行,然后输出结果。总是返回resolve结果
/**
*每一个promise自己处理错误
*/
顺序执行promise
先getA然后getB执行,最后addAB
方法一——连续使用then链式操作
functiongetA(){
returnnewPromise(function(resolve,reject){
setTimeout(function(){
resolve(2);
},1000);
});
}
functiongetB(){
returnnewPromise(function(resolve,reject){
setTimeout(function(){
resolve(3);
},1000);
});
}
以上是“Promise如何按顺序执行”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。