news 2026/5/26 7:36:18

JS事件循环

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JS事件循环

单线程的 JavaScript

同步与异步

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

事件循环

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

浏览器事件循环

浏览器进程

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

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

网络进程

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

渲染进程

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

浏览器中的 Event Loop

宏队列和微队列

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

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

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

以chorme举例

微队列:

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

交互队列:

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

延迟队列:

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

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

1

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 6:57:50

2024年最值得掌握的AI办公技能:基于Open-AutoGLM的智能年报生成全流程

第一章:2024年AI办公革命与智能年报生成新范式2024年标志着人工智能全面融入企业核心办公流程的关键转折点,尤其在年度报告这类高复杂度、强规范性的文档生成领域,AI驱动的自动化范式正在重塑传统工作方式。借助自然语言生成(NLG&…

作者头像 李华
网站建设 2026/5/26 6:56:13

【AI驱动联系人管理新范式】:Open-AutoGLM让你的数据资产井井有条

第一章:AI驱动联系人管理的范式变革 人工智能技术正深刻重构企业与个人的信息管理方式,其中联系人管理作为沟通协作的核心环节,正在经历由AI驱动的范式变革。传统基于静态字段和手动归类的联系人系统已难以应对日益复杂的社交网络与业务交互需…

作者头像 李华
网站建设 2026/5/26 6:56:50

Open-AutoGLM记录同步难题:5大常见故障与一键修复方案

第一章:Open-AutoGLM记录同步难题概述在分布式系统架构中,Open-AutoGLM 作为一款基于大语言模型的自动化任务调度引擎,面临的核心挑战之一是跨节点记录同步问题。由于任务状态、执行日志和上下文信息需在多个服务实例间保持一致性&#xff0c…

作者头像 李华
网站建设 2026/5/26 6:55:43

Open-AutoGLM前夜,每位开发者都该知道的4个隐藏参与权益

第一章:Open-AutoGLM 参会人员通知所有参与 Open-AutoGLM 项目技术研讨会的成员需在指定时间内完成注册与身份确认流程。本次会议聚焦于开源自动化大语言模型训练框架的技术演进与协作开发,参会者包括核心开发团队、社区贡献者及合作机构代表。注册与身份…

作者头像 李华
网站建设 2026/5/26 6:18:18

10个降AI率工具,本科生高效降AIGC指南

10个降AI率工具,本科生高效降AIGC指南 AI降重工具:高效降低AIGC率的利器 随着人工智能技术的广泛应用,越来越多的学术论文和文章开始受到“AI痕迹”的困扰。对于本科生而言,如何在保持原文语义的前提下,有效降低AIGC率…

作者头像 李华
网站建设 2026/5/26 6:18:56

升压DC-DC:ASP201BQ2

安森德(ASDsemi)ASP201BQ2 该芯片是一款高性能的同步升压(Boost)DC-DC 转换器,集成了功率开关管,具有高效率、小尺寸和丰富的可配置功能,主要面向便携式设备等应用场景。一、核心亮点基本电气参…

作者头像 李华