获取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: {},
})
网友评论