在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ APPjs中的全局變量更改問題

APPjs中的全局變量更改問題

wx.getSetting({
  success: res => {
    if (res.authSetting['scope.userInfo']) {
      wx.getUserInfo({
        success: res => {         
          this.globalData.userInfo = res.userInfo
        }
      })
    } else (
      wx.authorize({
        scope: 'scope.userInfo',
        success() {
          wx.getUserInfo({
            success:res=>{
               this.globalData.userInfo =res.userInfo
            }
          })
        }
      })
    )
  }
})

console.log('wa')
this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })

我console了一下,發(fā)現頁面里onload在調試界面彈出授權申請的時候就會有'wa',但是在網上看到的小程序生命周期 onlunch是高于onload的,按道理來說我在授權成功后 改變了全局userInfo變量,再加載頁面的時候 頁面局部變量也能成功獲取到global全局變量啊,但是在控制臺里面還是null

用官方例子中的,this.userInfoReadyCallback解決了問題,但是this.userInfoReadyCallback在官方API中似乎找不到,而且頁面加載順序還是有疑問,求大神解釋一下~

回答
編輯回答
疚幼

1、getUserInfo是網絡請求,回調可能在onLoad之后才執(zhí)行。
2、userInfoReadyCallback是自定義的方法,作用在于:如果App實例的getUserInfo在onLoad之后返回的話,就給App添加一個userInfoReadyCallback方法。等到getUserInfo回調返回時,就執(zhí)行它。

2017年3月16日 12:48