为什么微任务比宏任务执行快
- 微任务叫
microtask
称为jobs
,是由JavaScript自身发起的 - 宏任务叫
macrotask
称为task
,是由宿主环境发起的
Event Loop中,每一次循环称为tick
主要区别
宏任务(macrotask) | 微任务(microtask) | |
---|---|---|
谁发起的 | Nodejs/浏览器 | JavaScript自身 |
具体事件 | script 标签 setTimeout/setInterval UiRendering postMessage/messageChannel setImmediate/IO | Promise MutationObserver process.nextTick |
谁先执行 | 后执行 | 先执行 |
会触发新一轮的tick吗 | 会 | 不会 |