javascript ES6 Promise 用法

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({status: -1, result: false})
    }
  })
};
let getUserInfo = () => {
  return new Promise((resolve, reject) => {
    let userInfo = {
      userId: '101'
    };
    resolve(userInfo)
  })
};
checkLogin().then(result => {
  console.log(`result: ${result}`);
  return getUserInfo()
}).catch(error => {
  // console.error(`result: ${error.result}`);
  throw new Error(`result: ${error.result}`);
}).then(res => {
  console.log(`userId: ${res.userId}`)
});

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

猜你喜欢

转载自blog.csdn.net/weixin_41111068/article/details/84502054