关于app.js和page.js方法执行顺序

问题:由于OpenId是在app.js的onlaunch方法请求获得。但是由于app.jspage.js是异步执行的,也就说可能当你还没执行完app.js中onlaunch的时候,page.js中的onload已经执行完了,如果你在page的onload中有需要用到openid的话,那就取不到值。

1|0解决办法

if (self.userInfoReadyCallback) { self.userInfoReadyCallback(res) }
wx.login({ success: function(data) { wx.request({ url:"", method:"POST", success: function(res) { console.log('拉取openid成功', res.data) self.globalData.openid = res.data.openid // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (self.userInfoReadyCallback) { self.userInfoReadyCallback(res) } }, fail: function(res) { console.log('拉取用户openid失败,将无法正常使用开放接口等服务', res) } }) }, fail: function(err) { console.log('wx.login 接口调用失败,将无法正常使用开放接口等服务', err) } })

注:暂时只发现能用于登陆获取OpenId


__EOF__

本文作者boxJLP
本文链接https://www.cnblogs.com/toWorld/p/13177903.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   boxJLP  阅读(488)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示