ES6中promise的用法

promise是让我们前一个事情完成就执行下一个事件,通过.then的方法调用这样子代码不会臃肿
promise的用法:
模版:
let checkLogin = function (){
return new Promise ( function ( resolve , reject ){
let flag = document . cookie . indexOf ( "userId" )>- 1 ? true : false ; //这个document这个的用法就是查找这个userId的值
if ( flag ){
resolve ({
status: 0 ,
result: true
})
} else {
reject ( "this is error" )
}
})
};
checkLogin (). then ( res => {
if ( res . status == 0 ){
console . log ( "success login" )
}
}). catch ( error => {
console . log ( `error: ${ error } ` )
})
当你promise要运用到依次调用的时候那么就在上一个函数返回成功后return 下一个promise函数
在最后利用.then调用 例如:
let getUserInfo = function (){
return new Promise ( function ( resolve , reject ){
let userInfo = {
userId : "123"
};
resolve ( userInfo );
})
}

checkLogin (). then (( res ) => {
if ( res . status == 0 ){
console . log ( "success login" )
return getUserInfo ();
}
}). catch ( error => {
console . log ( `error: ${ error } ` )
}). then ( res2 => {
console . log ( `userId: ${ res2 . userId } ` )
})

promise.all的用法:同时调用多个promise 调用多个的时候用数组传递 例如:
Promise . all ([ checkLogin (), getUserInfo ()]). then (([ res1 , res2 ]) => {
console . log ( `result: ${ res1 . result } ` )
console . log ( `userId: ${ res2 . userId } ` )
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值