news 2026/5/31 15:51:23

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/30 14:27:43

手把手教你训练专属邮件回复模型:基于Open-AutoGLM的定制化实践

第一章:手把手教你训练专属邮件回复模型:基于Open-AutoGLM的定制化实践在企业级应用中,自动化邮件处理是提升效率的关键环节。利用 Open-AutoGLM 框架,开发者可以快速构建并训练一个专属于自身业务场景的邮件回复模型。该框架支持…

作者头像 李华
网站建设 2026/5/29 20:26:47

AI写年报真的靠谱吗?一文看懂Open-AutoGLM的技术底牌与应用边界

第一章:AI写年报真的靠谱吗?——Open-AutoGLM的起点之问人工智能正以前所未有的速度渗透进企业核心流程,财务年报撰写这一高度专业化的工作,也开始出现AI的身影。但问题随之而来:AI真的能胜任如此复杂、严谨的任务吗&a…

作者头像 李华
网站建设 2026/5/30 2:17:35

注意!中国青少年儿童近视率高达90%的原因竟是这个!

近年来,中国青少年儿童近视问题呈现出“高发、低龄化”的严峻态势,相关数据显示,青少年儿童近视率已高达90%,这一数字不仅让无数家长忧心忡忡,也引发了社会各界对儿童视力健康的广泛关注。在近视防控的诸多讨论中&…

作者头像 李华
网站建设 2026/5/30 2:31:18

企业效率翻倍秘诀,基于Open-AutoGLM的智能邮件回复系统搭建全流程

第一章:企业效率翻倍秘诀,基于Open-AutoGLM的智能邮件回复系统搭建全流程在现代企业运营中,高频次的邮件沟通成为日常负担。借助 Open-AutoGLM 强大的自然语言理解与生成能力,可构建一套自动化邮件回复系统,显著提升响…

作者头像 李华