什么是宏任务与微任务分别有哪些?
宏任务(macro task)和微任务(micro task)是指在JavaScript中执行的不同类型的任务。
宏任务是指由浏览器提供的任务,通常是异步任务。宏任务包括:
- setTimeout和setInterval函数产生的定时器任务
- DOM事件处理器中的任务
- XMLHttpRequest和fetch等网络请求的回调函数任务
- 执行整体的script代码块任务
- requestAnimationFrame等动画相关的任务
微任务是指由JavaScript引擎提供的任务,通常是在当前执行栈为空时执行的任务。微任务包括:
- Promise的回调函数任务
- MutationObserver的回调函数任务
在任务队列中,微任务的优先级高于宏任务,即微任务总是在下一个宏任务之前执行。
原文地址: http://www.cveoy.top/t/topic/iVvI 著作权归作者所有。请勿转载和采集!