onLaunch与onLoad同步获取用户数据
前言
在开发项目的时候遇到从全局获取用户信息,逻辑是从app.js中的onLauch获取,page页面的onLoad拿到数据填充到页面。遇到的问题是onLauch与onLoad是异步的,没办法从页面判断app.js中获取数据的先后,于是参照网上的方式用回调进行处理。
代码
app.js
App({ globalData: { //需要获取的数据 userInfo: null, //回调函数 cb: null }, onLauch: function(){ //异步获取用户数据 wx.request({ url: '/api/getUserInfo', success: res => { this.globalData.userInfo = res.data.userInfo; cb && cb(res.data.userInfo); } }) } })index.js
const app = getApp(); Page({ data: {}, onLoad: function(){ if(app.globalData.userInfo){ this.setData({ userInfo: app.globalData.userInfo }) } else { app.globalData.cb = (userInfo) => { this.setData({ userInfo }) } } } })
相关推荐
郴州小程序 2020-06-13
nicepainkiller 2020-03-28
waterv 2020-03-07
owhile 2020-02-23
pythonclass 2020-01-23
knightwatch 2019-12-30
waterv 2020-01-08
VFCSDN 2019-12-30
cbao 2019-12-21
LazySleep 2019-12-09
MaureenChen 2019-12-09
simplehap 2019-12-05
颤抖吧腿子 2019-12-05
Bougie 2019-11-12
liangliangshuo 2019-11-03