59.宏任务有哪些,pormise.then 是什么任务,nextTick 和一个定时器,哪个更先执行

书诚小驿2025/02/25前端面经Javascript

题目描述

宏任务有哪些,pormise.then 是什么任务,nextTick 和一个定时器,哪个更先执行

答案

执行顺序:nextTick → Promise.then → setTimeout 微任务优先于宏任务,nextTick 是微任务中的最高优先级

  1. 宏任务列表
宏任务列表说明环境
setTimeout定时器回调浏览器/Node.js
setInterval定时器循环回调浏览器/Node.js
setImmediateNode.js 中立即执行的宏任务Node.js
I/O 操作文件读写、网络请求等浏览器/Node.js
UI 渲染浏览器页面重绘浏览器
requestAnimationFrame浏览器动画帧回调(部分浏览器中属于宏任务)浏览器
  1. 微任务列表
微任务列表说明环境
process.nextTickNode.js 中优先级最高的微任务Node.js
Promise.thenPromise.then浏览器/Node.js
MutationObserverDOM 变化监听回调浏览器
Object.observe浏览器微任务浏览器
MutationObserver浏览器微任务浏览器
Promise.resolve().thenPromise 链式回调浏览器/Node.js
最后更新时间' 2025/3/10 02:17:16