Promise: 承诺 许诺
作用:解决异步回调问题
传统方式:大部分使用回调函数,事件
ajax(url,{ //获取token
ajax(url,()=>{ //获取用户信息
ajax(url,()=>{
//获取用户相关新闻
})
})
})
语法:
let a = 10;
let promise = new Promise(function(resolve,reject){
//resolve 成功调用
//reject 失败调用
if(a = 10){
resolve('success');
}else{
reject('fail');
}
});
promise.then(res=>{
console.log(res);
}).catch(err=>{
console.log(err);
})
Promise.resolve('aa'): 将现有的东西,转成一个promise对象,resolve状态,成功状态
等价于:
new Promise((resolve,reject)=>{
resolve('aaa')
});
Promise.reject('aaa'): 将现有的东西,转成一个promise对象,reject状态,失败状态
等价于:
new Promise((resolve,reject)=>{
reject('aaa')
});
Promise.all([p1,p2,p3]): 把promise打包,扔进一个数组里面,打包完还是一个promise对象 //用的比较多
必须确保,所有的promise对象,都是resolve状态,都是成功状态
Promise.race([p1,p2,p3]): 只要有一个成功,就返回
用户登陆 -》用户信息