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

鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ 微信小程序request異步賦值問題

微信小程序request異步賦值問題

我把登陸/獲取用戶信息寫再了app.js里,再success之后將內(nèi)容賦值到globalData.xxxxx,Page的onLoad中再把globalData.xxxxx賦值到data.xxxxx發(fā)現(xiàn)賦值不上 差了很多資料說是onLoad,onLaunch,request異步請求的問題導(dǎo)致 請問如何解決。

app.js

app({

globalData: {
    xxxxx: null
  },

onLaunch: function () {
    var that = this;
    wx.login({
      success: function (res) {
        var code = res.code;
        if (code) {
          wx.getUserInfo({
            success: function (res) {
              wx.request({
                .....
                },
                success: function (data) {
                  that.globalData.xxxxx = data.data.xxxxx
                },
                fail: function () {
                  console.log('系統(tǒng)錯誤')
                }
              })
            },
            fail: function () {
              console.log('獲取用戶信息失敗,請重新授權(quán)')
            }
          })
        } else {
          console.log('獲取用戶登陸狀態(tài)失敗' + res.errMsg)
        }
      },
      fail: function () {
        console.log('登陸失敗')
      }
    })
  }

})

index.js

var app = getApp();

Page({
    data: {
        xxxxx:null
      },
      
    onLoad: function (options) {
        this.setData({
          xxxxx: app.globalData.xxxxx
        });
    }

})
回答
編輯回答
陌如玉

使用Promise進(jìn)行對APP.js內(nèi)的進(jìn)行l(wèi)ogin的方法進(jìn)行一次封裝后,在index.js內(nèi)調(diào)用app內(nèi)封裝的那個方法后拿到所需值然后對全局的那個globalData進(jìn)行賦值,如果還有不明白的 明天到公司 我給你上代碼。

2017年1月19日 07:23