微信小程序 使用回调函数解决index的onLoad先于onLaunch返回数据的问题
app.js
// app.js App({ sessionCallBack:null, onLaunch() { // 展示本地存储能力 const logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) // 登录 wx.login({ success: res => { var code = res.code wx.getUserInfo({ success: res=>{ console.log("用户信息:",res) getApp().globalData.userInfo = res.userInfo console.log(getApp().globalData.userInfo) wx.request({ url: getApp().globalData.url + 'english/login', method: 'POST', header: { 'content-type': 'application/x-www-form-urlencoded' }, data:{ code: code, encryptedData: res.encryptedData, iv: res.iv, }, success:(res)=>{ console.log(res) wx.setStorageSync('session', res.data.rd_session) wx.setStorageSync('type', res.data.type) if(this.sessionCallBack){ // 此回调函数将在index.js中被定义 this.sessionCallBack(res.data.rd_session) } }, }) } }) } }) }, globalData: { userInfo: null, url : "http://127.0.0.1:8000/" } })
index.js
onLoad() { var session = wx.getStorageSync('session') if (!session){ getApp().sessionCallBack=(session)=>{ if(session){ this.nav() } } } else{ this.nav() } },
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!