1. 程式人生 > >Promise鏈式回調的使用

Promise鏈式回調的使用

ESS reject gin 方法 失敗 ID UC 第一個 成功



/*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}`);
})

  

Promise鏈式回調的使用