Promise :英文翻译(承诺,许诺)
作用:解决异步回调问题
传统方式,大部分用回调函数,事件,会出现回调地狱现象
举个例子:
ajax(url,{ //获取token
ajax(url,()=> { //获取用户信息
ajax(url,()=> {
//获取用户相关新闻
}
}
}
Promise基础用法展示
let a = 9
let promise = new Promise(function(resolve,reject){
//resolve,成功时调用
//reject,失败时调用
if(a==10){
resolve("成功")
}else{
reject('失败鸟')
}
})
promise.then(res => {console.log(res)},err=>{
console.log(err)
})
promise.catch()
这个方法可以捕获到 发生错误的信息
promise.catch(err=>{
console.log(err)
})
此时你会发现 错误信息打印了两遍 错误鸟
当然你也可以采用链式方法:
promise.then(res => {console.log(res)})
.catch(err=>{ console.log(err)})
Promise.resolve('aa') :这个属性,将现有的东西,转成一个promise对象,resolve状态,成功状态
Promise.reject('aaa') :这个属性,将现有的东西,转成一个promise对象,reject状态,失败状态
Promise.all([promise,promise...]) 把promise打包,扔到一个数组里面,打包完还是一个promise对象
网友评论