SSF0SSF0
首页
前端
  • Node
  • Go
  • C#
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
Timeline
Github
标签
分类
首页
前端
  • Node
  • Go
  • C#
  • MySql
  • Bash
  • Git
  • Docker
  • VuePress
  • CI/CD
  • 服务器
  • 网站
  • 学习资料
  • 软件
Timeline
Github
标签
分类
  • HTML

    • html1
    • html2
  • CSS

    • Flex 布局常见问题与解决方案
  • JavaScript

    • 数据类型及引用问题
    • 处理 Blob 类型文件下载问题总结
    • localStorage 与 sessionStorage 区别
    • JavaScript 中的 script 标签问题详解
    • JavaScript 中的`this`指向问题详解
    • SessionStorage踩坑记录:它真的能"只设置一次"吗?
    • 动态加载 JS 脚本方法对比
    • 浏览器页面关闭场景下的数据上报
  • es6

    • Promise
    • es6 模块导出方式全解析
  • Vue2

    • created VS mounted 发起异步请求
    • vue2-2
  • Vue3

    • Vite + Vue3 修改 element-plus 源码
    • Vue v-if 与 v-show
    • Vue3 ref 获取组件
    • Vue3 路由传参
    • 父子组件与组件里 Hooks 加载顺序
    • 第三方组件传入参数TS提示
    • Vue3 Props 在 Hooks 中的响应性处理
    • Vue Router 的两种历史模式及部署配置详解
    • 在Vue 3项目中顺利集成Tailwind CSS的完整指南
    • Vue 3 深度选择器:deep()完全指南
  • Electron

    • 快速构建 electron + vue3 项目
  • TS

    • TS 泛型
    • 记录模板使用断言的问题
    • type 与 interface
  • WebPack

    • Webpack 介绍
  • Vite

    • Vite CLI 常见命令
    • vite 与 webpack 比较
  • 项目工程

    • 前端代码风格
    • Vue3 项目规范
    • npm 镜像问题
    • 包管理工具
    • 使用 engines 限制开发环境依赖
    • 打包与shell交互指定模式
    • 使用 pnpm 构建 Monorepo 实战指南
    • pnpm 修改依赖源码打包报错
  • 记录一下小程序
  • 控制浏览器正确保存网站账号密码的技巧

created VS mounted 发起异步请求速度比较

在 Vue.js 开发中,选择合适的生命周期钩子来发起异步请求是提升应用性能和用户体验的关键之一。本文将探讨在 created 和 mounted 钩子中发起请求的差异,并提供最佳实践建议。

生命周期钩子概述

  • created:实例已经创建,数据观测已完成,但尚未挂载到 DOM 上。

  • mounted:实例挂载到 DOM 上,模板已渲染。

异步请求的执行时机

在 Vue 中,异步请求通常在事件循环的微任务或宏任务队列中执行。当在 created 钩子中发起请求时,请求会尽早开始处理,但其回调会在所有同步任务执行完后才执行。

钩子选择的影响

  • 请求时间长于同步任务时间:

    • 将请求放在 created 中更为有利。因为请求会更早开始,虽然结果的处理会在同步任务完成后进行,但整体等待时间会缩短。
  • 请求时间短于同步任务时间:

    • 在这种情况下,无论在 created 还是 mounted 中发起请求,最终结果的处理时机是相同的,因为它们都要等同步任务完成后才执行回调。因此,两者的差别不大。

性能对比

  • created 优势:

    • 请求更早发起,可能减少 50-100ms 的等待时间

    • 适合大多数数据预加载场景

    • 有助于提前准备数据,减少页面闪烁

  • mounted 优势:

    • 可以访问真实 DOM

    • 适合需要元素尺寸、位置等信息的场景

    • 便于处理 DOM 相关的动态请求

最佳实践建议

  • 优先使用 created 钩子:通常建议在 created 中发起异步请求。这样可以确保请求尽早开始,即使结果的处理稍后进行,也能减少用户的整体等待时间。

  • 特殊情况的考虑:如需依赖 DOM 元素进行操作的请求(例如需要获取元素的尺寸),则应在 mounted 钩子中执行。

结论

在 Vue 的开发中,合理选择生命周期钩子来发起异步请求,可以有效提升应用性能和用户体验。根据请求时间与同步任务时间的对比,选择合适的钩子来实现最佳效果。

最后更新时间:
贡献者: 何风顺
下一页
vue2-2