简单Promise回顾

Posted 谢玉胜的技术文章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单Promise回顾相关的知识,希望对你有一定的参考价值。

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回顾的主要内容,如果未能解决你的问题,请参考以下文章

Promise的4个例子

promise执行顺序

Promise简单实现--摘抄

简单实现一个 Promise

手写promise啥水平

es6之promise简单理解及使用