码迷,mamicode.com
首页 > 其他好文 > 详细

onLaunch与onLoad同步获取用户数据

时间:2019-11-08 22:29:13      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:data   UNC   request   app   遇到的问题   his   else   lock   url   

前言

在开发项目的时候遇到从全局获取用户信息,逻辑是从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
                })
            } 
        }
  }
})

onLaunch与onLoad同步获取用户数据

标签:data   UNC   request   app   遇到的问题   his   else   lock   url   

原文地址:https://www.cnblogs.com/TomAndJerry/p/11823623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!