彻底理解浏览器中的 Event Loop(事件循环)机制!

为什么 setTimeout(fn, 0) 不会立即执行? Promise.then 和 setTimeout 谁先执行? 微任务、宏任务怎么区分?

这些问题都源于一个核心机制:Event Loop(事件循环)

🧠一句话总结:

JavaScript 是单线程语言,Event Loop 是它用来管理异步任务调度的机制。

🔧宏任务 vs 微任务:

类型示例何时执行宏任务setTimeout, setInterval, requestAnimationFrame每轮事件循环开始时执行微任务Promise.then, MutationObserver, queueMicrotask当前任务执行结束立即执行

📊执行顺序示例:

js

复制编辑

console.log('start')

setTimeout(() => console.log('timeout'), 0)

Promise.resolve().then(() => console.log('promise'))

console.log('end')

✅输出顺序:

arduino

复制编辑

start

end

promise

timeout

原因:

  1. start 和 end 是同步代码
  2. promise.then() 属于微任务,紧跟当前宏任务执行完立即执行
  3. setTimeout 是下一个宏任务,要等到微任务清空后再执行

🔁Event Loop 调度流程:

  1. 执行全局同步代码(同步阶段)
  2. 执行微任务队列(Promise.then 等)
  3. 执行下一个宏任务(如 setTimeout 回调)
  4. 重复步骤 2 → 3(循环进行)

🧠Tips:

  • 微任务总是在当前宏任务之后、下一个宏任务之前执行
  • 如果微任务队列不断填充,会阻塞宏任务执行(如无限 Promise.then)
  • 不要在微任务中写死循环,否则页面会卡死!

https://blog.csdn.net/qqqdqd/article/details/149209167

jrhz.info

https://blog.csdn.net/qqqdqd/article/details/149209090

https://blog.csdn.net/qqqdqd/article/details/149208922

https://blog.csdn.net/qqqdqd/article/details/149209254

https://blog.csdn.net/qqqdqd/article/details/149209491

https://blog.csdn.net/qqqdqd/article/details/149209582

https://blog.csdn.net/qqqdqd/article/details/149209652

特别声明:[彻底理解浏览器中的 Event Loop(事件循环)机制!] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

美联储降息押注惊现戏剧性反转 市场预期再波动(美联储降息押注达97%)

尽管部分政策制定者对通胀水平感到担忧,美联储主席杰罗姆·鲍威尔预计仍将在下周推动再次降息25个基点。此前,美联储在10月进行了连续第二次降息,原因是夏季美国劳动力市场突然恶化。然而,随后一些官员表达了对是否支持12月再次降息的犹豫或拒绝

美联储降息押注惊现戏剧性反转 市场预期再波动(美联储降息押注达97%)

孙骁骁的感情史充满戏剧性,这一次,再多的名利都救不了39岁的她(孙骁骁的男朋友是谁)

最终,她与一位同样颇具话题的男演员携手,被戏称为“老实人接盘”,这到底是天作之合,还是“锅盖相配”? 最近,一组任重和孙骁骁与友人聚餐的照片在网络上不胫而走。有趣的是,任重在『娱乐圈』️也以“情商感人不解风情”而著…

孙骁骁的感情史充满戏剧性,这一次,再多的名利都救不了39岁的她(孙骁骁的男朋友是谁)

谷歌推出Gemini Deep Research深度研究智能体,人工智能AIETF(515070)持仓股芯原股份大涨超6%(谷歌推出ai订机票功能)

A股三大指数集体上涨,科技赛道表现较为强势,CPO、存储、人形『机器人』️板块纷纷上涨,沪市规模最大的人工智能AIETF(515070)涨近1%,持仓股芯原股份大涨超6%,北京君正涨超5%,润泽科技、德赛西威、豪威…

谷歌推出Gemini Deep Research深度研究智能体,人工智能AIETF(515070)持仓股芯原股份大涨超6%(谷歌推出ai订机票功能)

双十二7000即可入手!携华硕无畏Pro16 RTX5060入场AI大屏时代真轻松(双十二满200-25)

当你使用Stable Diffusion生成一张AI绘画作品时,RTX 5060能在数秒内完成渲染;当你在剪映中使用AI抠像功能时,处理速度比纯CPU快10倍以上;当你需要将一段1080p视频通过AI超分辨率…

双十二7000即可入手!携华硕无畏Pro16 RTX5060入场AI大屏时代真轻松(双十二满200-25)

什么方法能治咳嗽(什么方法治咳嗽最管用)

咳嗽可以通过多种方法缓解,包括生活调理、物理治疗、药物治疗、雾化治疗和手术治疗。 适当增加饮水量有助于稀释呼吸道分泌物,保持咽喉湿润。环境湿度维持在适宜水平可减少干燥空气对气道的刺激

什么方法能治咳嗽(什么方法治咳嗽最管用)