Promise链式回调的使用



/*Promise通常配合then方法来链式的使用,then方法里面第一个回调函数表示成功状态,也就是resolve,第二个是失败状态-reject,如果默认写一个参数的话,默认resolve*/

 
let checkLogin=()=> {
  return new Promise((resolve,reject)=>{
    let flag=document.cookie.indexOf("userId")!=-1?true:false;
    if(flag=true){
      resolve({
        status:0,
        result:true
      });
    }else{
      reject("error");
    }
  });
}
let getuseInfo=()=>{
  return new Promise((resolve,reject)=>{
    let useInfo={
      status:0,
      userId:101
    }
    resolve(useInfo);
  })
}

checkLogin().then((res)=>{
  console.log("Login Success");
  return getuseInfo();
},(error)=>{
  console.log(`error:${error}`);
}).then(res=>{
  console.log(`userId:${res.userId}`);
});


//Promise.all()的使用
Promise.all([checkLogin(),getuseInfo()]).then(([res1,res2])=>{
  console.log("Login Success");
  console.log(`userId:${res2.userId}`);
})

  

猜你喜欢

转载自www.cnblogs.com/wangxirui/p/9029343.html