当前位置: 首页 > news >正文

JS事件循环

单线程的 JavaScript

同步与异步

js本身是单线程的,为了处理异步任务,宿主环境(浏览器/v8)会将其交给其他线程处理,执行js的线程则会立即结束当前任务而去执行后续代码

事件循环

事件循环是宿主环境处理js异步操作的方式,让其能够非阻塞式运行的机制

浏览器事件循环

浏览器进程

主进程,无论打开多少个浏览器窗口,它仅有一个

它主要负责浏览器界面交互、用户管理和进程管理

网络进程

处理网站的数据请求和相应,网络进程内部会开启多个线程,以实现网络请求的异步话处理

渲染进程

主要是解析html、css和js等其他资源,并生成渲染树、执行布局、和绘制

浏览器中的 Event Loop

宏队列和微队列

宏队列排队宏任务(DOM操作回调, 定时器回调, UI绘制),

微队列排微任务(Promise回调)

除了微队列外,队列的种类和数量均可能不同,这取决于浏览器厂商

以chorme举例

微队列:

用于存放需要执行最快的任务,优先级极高,比如promise.then(), MutationObserver

交互队列:

用于存放用户操作后产生的事件任务,优先级次于微队列

延迟队列:

用于存放定时器到达后的回调任务,优先级次于交互队列

注意:人工合成的事件派发, 即直接在代码里写的dom.click()或dispatchEvent(),相对于浏览器而言并不是真正的用户交互,会被当作同步任务执行

1

http://www.jsqmd.com/news/119538/

相关文章:

  • 【Open-AutoGLM销售线索筛选实战指南】:手把手教你构建高转化率AI筛选模型
  • 为什么头部公司都在悄悄测试Open-AutoGLM?年报自动化背后的竞争密码
  • games101学习:Lecture 10 Geometry 1(introduction)
  • 苏州GEO排名产品权威盘点,这些品牌引领行业!视频矩阵/ai排名/短视频矩阵/ai数字人排行榜GEO排名源头厂家排行榜单 - 品牌推荐师
  • Open-AutoGLM邮件自动化落地全方案(从部署到优化的9个关键点)
  • 你还在手动筛客户?,Open-AutoGLM自动化筛选系统已淘汰传统CRM模式
  • 【每日算法】 LeetCode 56. 合并区间
  • 【AI驱动联系人管理新范式】:Open-AutoGLM让你的数据资产井井有条
  • 【AI驱动销售革命】:Open-AutoGLM如何实现线索筛选效率提升10倍
  • Best Video下载器 – 免费在线网页视频下载工具官网入口
  • 8.logging日志模块
  • 大模型时代:Agentic AI在NLP提示工程中的应用实践
  • 手把手教你训练专属邮件回复模型:基于Open-AutoGLM的定制化实践
  • 变频全桥LLC模态分析(VF_FB)
  • 【Svelte】怎样实现一个图片上传功能?
  • 2024年最值得掌握的AI办公技能:基于Open-AutoGLM的智能年报生成全流程
  • 9.测试报告allure​
  • 为什么你的附件总丢失?Open-AutoGLM自动保存功能一招解决
  • Open-AutoGLM归档性能优化:5大关键步骤让查询速度提升10倍
  • PHP POP 链构造(上):原理与机制
  • Open-AutoGLM实时跟进系统搭建全流程(含源码级避坑指南)
  • 表级同步延迟高达30分钟?,Open-AutoGLM性能优化全攻略
  • Open-AutoGLM客户数据归档避坑指南(资深IT专家亲授3大核心原则)
  • 大数据领域数据合规的重要性及实现策略
  • 【AI赋能办公新范式】:用Open-AutoGLM构建零延迟邮件响应体系
  • Open-AutoGLM记录同步难题:5大常见故障与一键修复方案
  • 详细介绍:LeetCode 每日一题笔记 日期:2025.11.24 题目:1018. 可被5整除的二进制前缀
  • 为什么90%的企业都在用Open-AutoGLM做客户信息归档?真相曝光
  • 为什么顶级销售团队都在用Open-AutoGLM?,深度拆解智能线索优先级排序算法
  • 揭秘Open-AutoGLM数据归档黑科技:如何实现客户信息零丢失与秒级检索