美文网首页
微信小程序获取openid异步问题 有时候获取不到问题

微信小程序获取openid异步问题 有时候获取不到问题

作者: Oct1a | 来源:发表于2019-11-19 19:45 被阅读0次

    获取openid我是直接使用小程序云函数中的login函数,在开发中,我是直接写在主页面的js中,很多函数都需要openid的值,有时候能获取到,有时候又不行,调试之后发现是获取getopenid的函数是异步,不能通过onLoad()方法直接获取,当onload函数启动后,下面直接顺序执行,openid还没获取到,下面的函数已经在执行了,这就是异步问题了。

    解决方法

    我们要在APP.js中调用获取openid云函数

    App({
      onLaunch: function () {
        if (!wx.cloud) {
          console.error('请使用 2.2.3 或以上的基础库以使用云能力')
        } else {
          wx.cloud.init({
            traceUser: true,
          })
          wx.cloud.callFunction({
            name: 'login',
            data: {},
            success: res => {
              console.log('[login] user openid: ', res.result.openid)
              this.globalData.openid = res.result.openid
            },
            fail: err => {
              console.error('获取用户openid失败', err)
            }
          })
        }
      },
      //全局数据
      globalData: {},
    
    })
    
    
    

    相关文章

      网友评论

          本文标题:微信小程序获取openid异步问题 有时候获取不到问题

          本文链接:https://www.haomeiwen.com/subject/gbpgictx.html