福州網(wǎng)站建設(shè)>網(wǎng)站新聞>福州微信小程序

        微信小程序:userInfoReadyCallback介紹

        發(fā)布日期:2019-10-08瀏覽次數(shù):1651 來源:福州網(wǎng)站建設(shè)

        wx.getUserInfo({
              success: res => {
                console.log('getUserInfo success:', res);


                // 可以將 res 發(fā)送給后臺(tái)解碼出 unionId
                this.globalData.userInfo = res.userInfo


                // 由于 getUserInfo 是網(wǎng)絡(luò)請(qǐng)求,可能會(huì)在 Page.onLoad 之后才返回
                // 所以此處加入 callback 以防止這種情況
                if (this.userInfoReadyCallback) {
                  this.userInfoReadyCallback(res)
                }
              }
            })
        page.onload


        if (app.globalData.userInfo){
              this.setData({
                userInfo: app.globalData.userInfo
              })
            }


        // 給app.js 定義一個(gè)方法。
         app.userInfoReadyCallback = res =>{
              console.log('userInfoReadyCallback: ', res);
              console.log('獲取用戶信息成功');
              this.setData({
                userInfo: res
              })
            };
        this.userInfoReadyCallback,這個(gè)方法是在page.onload中定義的。
        判斷page.onload 中是否定義了this.userInfoReadyCallback


        ??注:因?yàn)閣x.getUserInfo是異步的,不知道異步先執(zhí)行完畢還是page.onload先執(zhí)行完畢


        1. 方法如果定義了,則說明page.onload比當(dāng)前方法運(yùn)行的早(page已經(jīng)完成初始化),app的globalData還沒有數(shù)據(jù),通過此回調(diào)可以及時(shí)的刷新數(shù)據(jù)
        2. 方法如果沒有定義,則說明page.onload比當(dāng)前方法運(yùn)行的晚(page還沒有初始化),app的globalData是有值的,可以在page.onload中取globalData里面的值

        以上是由福州網(wǎng)站建設(shè)的小編為你分享了"微信小程序:userInfoReadyCallback介紹"文章,如果你在這方面有什么問題,隨時(shí)聯(lián)系我們

        福州微信小程序有關(guān)的文章
        如果您有什么問題,歡迎咨詢我們客服! 點(diǎn)擊QQ咨詢