如何判断方法A执行完毕,之后再执行方法B

发布于 2022-09-12 04:12:28 字数 1140 浏览 14 评论 0

vue mountede里面的两个方法 必须要确保 this.myonLoad执行完毕之后,再执行this.login_onclick
`

 async mounted() {
  await this.myonLoad();
  this.login_onclick();
},

`

this.myonLoad 返回一个promise对象

`

 myonLoad() {
    return new Promise((resolve, reject) => {
      try {
        var s_pnp = new SoftKey3W();
        s_pnp.Socket_UK.onopen = function () {
          bConnect = 1; //代表已经连接,用于判断是否安装了客户端服务
        };

        //在使用事件插拨时,注意,一定不要关掉Sockey,否则无法监测事件插拨
        s_pnp.Socket_UK.onmessage = function got_packet(Msg) {
          var PnpData = JSON.parse(Msg.data);
          if (PnpData.type == "PnpEvent") {
            //如果是插拨事件处理消息
            if (PnpData.IsIn) {
              alert(
                "UKEY已被插入,被插入的锁的路径是:" + PnpData.DevicePath
              );
            } else {
              alert(
                "UKEY已被拨出,被拨出的锁的路径是:" + PnpData.DevicePath
              );
            }
          }
        };

        s_pnp.Socket_UK.onclose = function () {};
      } catch (e) {
        alert(e.name + ": " + e.message);
        return false;
      }
    });
  },

`

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

ぽ尐不点ル 2022-09-19 04:12:28
myonLoad() {
    return new Promise((resolve, reject) => {
      try {
        var s_pnp = new SoftKey3W();
        s_pnp.Socket_UK.onopen = function () {
          bConnect = 1; //代表已经连接,用于判断是否安装了客户端服务
        };

        //在使用事件插拨时,注意,一定不要关掉Sockey,否则无法监测事件插拨
        s_pnp.Socket_UK.onmessage = function got_packet(Msg) {
          var PnpData = JSON.parse(Msg.data);
          if (PnpData.type == "PnpEvent") {
            //如果是插拨事件处理消息
            if (PnpData.IsIn) {
              alert(
                "UKEY已被插入,被插入的锁的路径是:" + PnpData.DevicePath
              );
            } else {
              alert(
                "UKEY已被拨出,被拨出的锁的路径是:" + PnpData.DevicePath
              );
            }
          }
        };
        // ******************** 看这里 ********************
        // 内部处理完后执行一下就可以了
        resolve(true);

        s_pnp.Socket_UK.onclose = function () {};
      } catch (e) {
        alert(e.name + ": " + e.message);
        return false;
      }
    });
  },
瘫痪情歌 2022-09-19 04:12:28

你的 promise 写错了吧,我都没看到你最后有 resolve 或者 reject 什么东西啊。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文