微信小程序onLaunch异步,首页onLoad先执行?

首先,我们需要明确的是,微信小程序的生命周期是由框架管理的。微信小程序的生命周期分为两种,全局生命周期和页面生命周期。全局生命周期是指小程序从启动到销毁期间的生命周期,而页面生命周期是指页面从创建到销毁期间的生命周期。

在全局生命周期中,onLaunch是在小程序启动时触发的,在调用该方法后才会进行路由解析,根据解析结果执行对应的页面生命周期函数。因此,onLaunch方法是异步执行的。

在页面生命周期中,onLoad是在页面创建时触发的,因此它是在onLaunch之后执行的。onLoad的执行顺序也是由路由解析结果所决定的,即哪个页面先创建就先执行哪个页面的onLoad函数。

以下是两个示例来说明这个问题:

  1. 示例一

现在我们有两个页面,分别是A页面和B页面。A页面的路径为/pages/A/A,B页面的路径为/pages/B/B。我们在小程序启动时进入B页面,如下:

// app.js
App({
  onLaunch: function () {
    console.log('app onLaunch');
  }
})

// pages/B/B.js
Page({
  onLoad: function () {
    console.log('B onLoad');
  }
})

在小程序启动时,控制台输出了'app onLaunch',说明onLaunch方法被调用了。进入B页面时,控制台输出了'B onLoad',说明B页面的onLoad函数在onLaunch之后执行。

  1. 示例二

现在我们有两个页面,分别是C页面和D页面。C页面的路径为/pages/C/C,D页面的路径为/pages/D/D。我们在小程序启动时进入C页面,C页面中又通过redirectTo跳转到D页面,并在D页面的onLoad函数中输出一个log,如下:

// app.js
App({
  onLaunch: function () {
    console.log('app onLaunch');
  }
})

// pages/C/C.js
Page({
  onLoad: function () {
    wx.redirectTo({
      url: '/pages/D/D',
    })
  }
})

// pages/D/D.js
Page({
  onLoad: function () {
    console.log('D onLoad');
  }
})

在小程序启动时,控制台输出了'app onLaunch',说明onLaunch方法被调用了。跳转到D页面时,控制台输出了'D onLoad',说明D页面的onLoad函数在C页面的onLoad函数之后执行。

综上所述,虽然onLaunch方法是异步执行的,但是在小程序启动时会先执行onLaunch方法,然后根据路由解析结果执行对应页面的onLoad函数。因此,首页的onLoad函数会在onLaunch方法之后执行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序onLaunch异步,首页onLoad先执行? - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • php实现对两个数组进行减法操作的方法

    那么接下来我将详细讲解一下 “php实现对两个数组进行减法操作的方法”。 什么是PHP数组的减法操作? PHP中,可以通过将一个数组中的元素减去另一个数组中的元素,来实现数组的减法操作。使用PHP实现数组的减法操作,可以对两个数组进行比较,得到他们之间的差异。具体实现方式有多种,常用的有foreach循环、array_diff等方法。 使用foreach循环…

    PHP 2023年5月26日
    00
  • php 数组二分法查找函数代码

    PHP中数组二分法查找函数代码: function binary_search($arr, $key) { $low = 0; $high = count($arr) – 1; while ($low <= $high) { $mid = intval(($low + $high) / 2); if ($arr[$mid] > $key) { $…

    PHP 2023年5月25日
    00
  • Ubuntu 命令技巧大全整理

    Ubuntu 命令技巧大全整理 1. 命令行快捷键 1.1 光标移动 Ctrl + a:移动到行首 Ctrl + e:移动到行尾 Ctrl + b:向后移动一个字符 Ctrl + f:向前移动一个字符 Alt + b:向后移动一个单词 Alt + f:向前移动一个单词 1.2 命令操作 Ctrl + u:删除光标之前的所有文本 Ctrl + k:删除光标之后…

    PHP 2023年5月27日
    00
  • php函数之子字符串替换 str_replace

    下面是关于PHP函数str_replace的详细讲解。 什么是str_replace str_replace是PHP中一种字符串替换的函数。它可以将源字符串中一部分子字符串匹配,并将其替换为新的子字符串。例如,如果你需要将一个字符串中的所有空格替换为下划线(_)号,你就可以使用str_replace函数。 str_replace的基本用法 str_repla…

    PHP 2023年5月26日
    00
  • PHP向浏览器输出内容的4个函数总结

    下面我详细讲解“PHP向浏览器输出内容的4个函数总结”的完整攻略。 1. 什么是向浏览器输出内容? 向浏览器输出内容指的是,当PHP脚本被执行时,将产生的结果输出给Web浏览器,以便在浏览器中显示。 2. PHP向浏览器输出内容的4个函数 常用的PHP向浏览器输出内容的函数有4个,分别是:echo,print,print_r和var_dump。 2.1 ec…

    PHP 2023年5月26日
    00
  • 浅谈PHP设计模式的模板方法模式

    简介: 模板方法模式,是行为型的设计模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类当中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。通俗讲,模板方法模式是偏向继承的设计模式,当子类有重复的动作时候,可将他们提取出来,放在父类进行处理。 适用场景: 算法结构相同但是算法不同的场景下使用,父类控制整体,子类具体实现。 优点: 体现…

    PHP 2023年4月18日
    00
  • PHP单文件上传原理及上传函数的封装操作示例

    PHP单文件上传原理及上传函数的封装操作示例 什么是文件上传? 文件上传指将本地文件通过互联网传输到服务器上的指定目录中。 文件上传的原理 在服务器端,所有的文件都以二进制的形式存储。当客户端上传文件时,服务器会在内存中开辟一块空间,将上传的文件保存在该空间中,然后将这个文件从内存中保存到服务器的硬盘上。 文件上传的过程中,主要的参数如下: 文件名 文件类型…

    PHP 2023年5月26日
    00
  • Web程序工作原理详解

    Web程序工作原理详解 Web程序是建立在客户端和服务器之间的基于网络的应用程序。Web程序通常由Web服务器、应用服务器和数据存储组成。Web服务器是指用于托管Web应用程序的软件,例如常用的Apache和Nginx。而应用服务器是指Web应用程序能够运行的平台,例如Java的Tomcat和Node.js的Express等。 工作流程 Web程序的工作流程…

    PHP 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部