宏任务和微任务到底是啥
宏任务和微任务是JavaScript中的两种任务队列。
宏任务(Macrotask)是指由浏览器提供的任务,包括但不限于以下任务:
- 页面渲染
- 用户交互事件(如点击、输入等)
- 定时器事件(如setTimeout、setInterval)
- 网络请求完成、文件读写完成等异步操作的回调函数
宏任务的执行是通过事件循环(Event Loop)机制来完成的,每次执行一个宏任务。
微任务(Microtask)是指由JavaScript自身提供的任务,包括但不限于以下任务:
- Promise的回调函数
- MutationObserver的回调函数
- process.nextTick(Node.js环境)
微任务的执行时机是在当前宏任务执行完毕之后,在下一个宏任务执行之前。
在事件循环中,每次执行完一个宏任务,会检查是否有微任务需要执行,如果有,则先执行所有微任务,然后再执行下一个宏任务。
总结起来,宏任务是浏览器提供的任务,而微任务是JavaScript自身提供的任务。它们的执行时机和优先级不同,理解宏任务和微任务的概念有助于更好地理解JavaScript的事件循环机制
原文地址: https://www.cveoy.top/t/topic/iicy 著作权归作者所有。请勿转载和采集!