什么是JavaScript事件循环_宏任务与微任务执行顺序如何

admin 百科 10
JavaScript事件循环中宏任务包括全局脚本、setTimeout/setInterval回调等,微任务包括Promise.then、queueMicrotask等;执行顺序为:一个宏任务→全部微任务→下一个宏任务。

什么是JavaScript事件循环_宏任务与微任务执行顺序如何-第1张图片-佛山资讯网

JavaScript 是单线程语言,靠事件循环(Event Loop)协调同步任务、异步回调的执行顺序。宏任务(Macrotask)和微任务(Microtask)是事件循环中两类关键任务,它们的执行顺序决定了代码的实际运行时序。

宏任务有哪些

宏任务是事件循环一次“迭代”中执行的主要任务,每次只取一个执行。常见宏任务包括:

  • 全局脚本(初始执行的代码)
  • setTimeoutsetInterval 的回调
  • setImmediate(仅 Node.js)
  • I/O 回调(Node.js 环境)
  • UI 渲染(浏览器环境,如重绘、重排)
  • postMessageMessageChannel 消息处理

微任务有哪些

微任务在**当前宏任务结束之后、下一个宏任务开始之前**立即执行,且会清空整个微任务队列。常见微任务包括:

  • Promise.then/catch/finally 的回调(注意:Promise 构造器内的执行是同步的)
  • queueMicrotask() 注册的函数
  • MutationObserver 的回调(DOM 变化监听)
  • await 后续代码(本质是 Promise 微任务的语法糖)

执行顺序规则

事件循环按以下固定节奏运转:

立即学习“Java免费学习笔记(深入)”;

标签: javascript java js node.js node 浏览器 mac ai 重绘

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~