JavaScript微任务是什么_它何时执行?

admin 百科 16
微任务是异步操作中优先级最高的任务,包括Promise回调、MutationObserver、queueMicrotask等,总在当前宏任务结束后、下一个宏任务开始前清空执行,易阻塞渲染且需防无限递归。

JavaScript微任务是什么_它何时执行?-第1张图片-佛山资讯网

JavaScript微任务是异步操作中优先级最高的一类任务,它们会在当前同步代码执行完后、下一次事件循环开始前立即执行。

微任务有哪些常见类型

常见的微任务包括:

  • Promise.then() / .catch() / .finally() 中的回调函数
  • MutationObserver 的回调
  • queueMicrotask() 显式加入的函数
  • Promise 构造函数中 executor 内部的同步代码(注意:不是微任务本身,但会影响微任务队列)

微任务的执行时机很明确

它总是在以下两个节点之间执行:

  • 当前宏任务(如 script 脚本、setTimeout 回调、事件处理函数等)执行完毕后
  • 下一个宏任务从事件队列中取出并执行之前

而且,只要微任务队列不为空,就会持续清空——也就是说,新加入的微任务会紧接着前面的微任务执行,形成“微任务风暴”(比如在 Promise 回调里又创建新的 Promise)。

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

和宏任务对比更清楚

宏任务(如 setTimeout、setInterval、I/O、UI 渲染)每次只执行一个,执行完就检查微任务队列;而微任务队列会一次性清空。例如:

标签: javascript java 回调函数

发布评论 0条评论)

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