zoukankan      html  css  js  c++  java
  • 使用promise判断是否登录

    步骤:

    1.创建并返回new Promise((resolve,reject)=>{}),resolve和reject分别是成功和失败后所执行的函数

    2.判断是否含有cookie,如果含有cookie ,则返回登录成功信息,如果没有cookie,则返回登录失败信息

      或者判断sessionStoreage里是否又userId信息

    判断是否含有cookie的方法:var flag = document.cookie.indexOf(cookieName)

    3.调用then函数,执行已登录代码,调用catch方法,执行未登录的代码

    如果不调用catch方法,会出现以下的错误:

    完整代码:

    <template>
      <div>{{msg.msg}}</div>
    </template>
    
    <script>
    export default {
      name: "HelloWorld",
      data() {
        return {
          msg:{}
        };
      },
      methods: {
        isLogin() {
          // 创建并返回promise,promise分别有两个参数,分别是成功和失败后所执行的函数
          return new Promise((resolve, reject) => {
            // document.cookie.indexOf(cookieName)  判断是否含有名为cookieName的cookies,大于-1,即存在该cookies,否则不存在该cookies
            var flag = document.cookie.indexOf("cookieName") > -1 ? true : false;
            //如果含有该cookies,则登录成功,否则登录失败
            if (flag) {
              resolve({
                state: 0,
                msg: "登录成功"
              });
            } else {
              reject({
                state: 1,
                msg: "登录失败"
              });
            }
          });
        }
      },
      created() {
        //调用登录方法,使用then函数,函数里是登录成功后执行的操作,使用catch函数,函数里是登录失败后执行的操作
        this.isLogin().then(res=>{
          console.log(res);
          this.msg = res;
        }).catch(err=>{
          console.log(err);
          this.msg = err;
        });
      }
    };
    </script>
  • 相关阅读:
    PAT 1053 住房空置率
    PAT 1078 字符串压缩与解压
    PAT 1024 科学计数法
    HDU 2078 复习时间
    HDU 2065 "红色病毒"问题
    网络协议分析
    多线程同步
    多线程程序设计
    消息队列通讯
    共享内存通讯
  • 原文地址:https://www.cnblogs.com/luguankun/p/10296633.html
Copyright © 2011-2022 走看看