微信小程序獲取openid異步問題 有時候獲取不到問題

獲取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: {},

})


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