微信小程序 onLaunch onLoad onShow异步

本文讨论了微信小程序在初始化过程中遇到的onLaunch、onLoad和onShow事件的异步问题,尤其是在onLaunch中执行用户登录时,可能会导致Page的onLoad或onShow事件提前执行。为了解决这个问题,提出了一种解决方案:在Page页面定义一个回调函数,等onLaunch中的用户登录完成并获取到返回值后,再执行这个回调函数。这样可以确保在调用业务接口前,globalData.token已有值,保证执行顺序为onLaunch -> 用户登录 -> 回调函数 -> onLoad/onShow。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad或onShow,但是在onLaunch里执行用户登录,等待返回值的时候Page里的onLoad或onShow事件就已经执行了。

原代码段
app.js代码片.

  globalData = {
   
   
    userInfo: null,
    token:''
  }
  onLaunch() {
   
   
    this.$interceptors = {
   
   
      request: {
   
   
        config(p) {
   
   
          p.url = 'http://test.xxx.com/api' + p.url
          if(this.globalData.token && this.globalData.token != ''){
   
   
             p.header = {
   
   
              token: this.globalData.token
            };
          }
          return p;
        },
        success(rst) {
   
   
          return rst;
        }
      }
    };
    this.login();
  }
    login() {
   
   
    const self = this;
    wx.login({
   
   
      success(data) {
   
   
        wepy.request
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值