获取不到openid的同学看看这里,我找到解决方案了
来源:7-3 播放历史与本地存储
慕婉清9221589
2020-08-11
1.在login.js文件中加上async和await,因为getWXContext( ) 方法是异步的
exports.main = async (event, context) => { //加上async
console.log(event)
console.log(context)
const wxContext =await cloud.getWXContext() //加上await
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
- 然后将login云函数重新上传后,在对小程序进行编译,就可以获得openid的值
- app.js中的代码如下:
getOpenid(){
wx.cloud.callFunction({
name: 'login'
}).then((res) => {
const openid = res.result.openid //res.result.openid是小写
// console.log(openid);
this.globalData.openid = openid
if (wx.getStorageSync(openid) == '') {
wx.setStorageSync(openid, [])
}
})
}
写回答
4回答
-
慕娘4228290
2021-04-04
建议置顶这个回答,不加 async 确实获取不到 openid
10 -
谢成
2020-08-11
cloud.getWXContext()前面应该不需要加await
122021-03-05 -
慕数据4122455
2021-05-09
谢谢1111111111
00 -
qq_慕用3356041
2021-05-02
好人啊,搞了我一晚上终于弄好了,谢谢啊
00
相似问题