小程序异步问题

发布于 6 年前作者 qiangtang12782 次浏览最后编辑 6 年前来自 ask

我在app.js通过wx.login方法获取到code之后,调用后台的方法转换成sessionKey,然后缓存起来,在其他页面还没从缓存中获取到数据就先调用了接口

3 回复
yongren
yongren1 楼6 年前

onLoad: function () {

    wx.request({

 

        url: app.globalData.domain,

        method: ‘POST’,

        header: {

            ‘content-type’: ‘application/x-www-form-urlencoded’

        },

        data: {

            sessionKey: wx.getStorageSync(sessionKey),

 

        },

        success: function (result) {

            console.log(result);

        }

    })

 

}

怎么改?比如这样…

weidong
weidong2 楼6 年前

增加一个callback,具体函数内容在其他页面初始化:

// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

                              // 所以此处加入 callback 以防止这种情况

                              if (this.userInfoReadyCallback) {

                                this.userInfoReadyCallback(res)

                              }

ujiang
ujiang3 楼4 年前

用一个事件回调