Promise封裝

// <!--Promise封裝-->
  let checkLogin = function(){
    return new Promise(function(resolve,reject){
      let flag = document.cookie.indexOf("userId")>-1?true:false;

      if(flag=true){
        resolve({
          status:0,
          result:true
        })
      }else{
        reject("error");
      }
    })
  };

  let getUserInfo = ()=>{
    return new Promise((resolve,reject)=>{
      let userInfo = {
        userId:"101"
      }
      resolve(userInfo);
    });
  }

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

  Promise.all([checkLogin(),getUserInfo()]).then(([res1,res2])=>{
    console.log(`result1:${res1.result},result2:${res2.userId}`)
  })

//輸出 
//login success
//Promise.html:46 result1:true,result2:101
//Promise.html:42 user:101

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章