首页 > 其他 > 详细

简单Promise回顾

时间:2018-01-23 17:57:25      阅读:203      评论:0      收藏:0      [点我收藏+]

1:传统的CallBack回调函数
let ajax=function(callback){
//dosomething
this.setTimeout(()=>{
callback&&callback()
},1000)
}

ajax(console.log("isCallBack"))

多层回调回会导致代码复杂/难以维护

2:promise改造

let ajax= function(){
//返回promise实例,有.then/.catch方法
return new Promise(function(resolve,reject){
setTimeout(()=>{
resolve()
},1000)
})
}

ajax().then(
//下一步的方法
()=>{
console.log("promise改造")
},
// ()=>{
// console.log("reject")
// }
)

3:catch方法

let ajax =function(num){
//dosomething
return new Promise(function(resolve,reject){
if(num>6){
resolve();
}else{
throw new Error("ISERROR")
}
})
}

ajax(2).then().catch()

4:全部执行完成,Promise.all;

Promise.all([
ajax(),
ajax(),
ajax(),
])

当所有的ajax全部执行完成后,才会执行下一步
.then()

5:只要有一个promise执行结束 Promise.race

Promise.race([
ajax(),
ajax(),
ajax(),
])

.then()

 

简单Promise回顾

原文:https://www.cnblogs.com/allenxieyusheng/p/8336775.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!