js中有哪些是宏任务哪些是微任务?
时间: 2024-06-07 08:05:53 浏览: 98
在 JavaScript 中,宏任务和微任务是指异步任务的两种不同的执行方式。
常见的宏任务包括:
- setTimeout 和 setInterval
- I/O 操作(例如读取文件,发送请求等)
- setImmediate(Node.js 独有)
- requestAnimationFrame(浏览器独有)
- MessageChannel(浏览器独有)
- UI 渲染(浏览器独有)
常见的微任务包括:
- Promise.then / catch / finally
- MutationObserver
- process.nextTick(Node.js 独有)
在执行顺序方面,每当当前执行栈为空时,JavaScript 引擎会先处理所有的微任务,再去执行宏任务。因此,微任务的执行优先级高于宏任务。
相关问题
js宏任务有哪些,微任务有哪些
好的,关于js宏任务和微任务,它们是指异步任务执行的优先级。常见的宏任务包括setTimeout、setInterval、ajax、DOM事件等等,而常见的微任务包括Promise、process.nextTick等等。至于你在前面对我说了什么,我并不知道,但是我可以和你分享一个小笑话:为什么鸟儿飞翔的时候,它们的脑袋不会晕?因为它们的眼睛会自动补偿眼角膜的运动!哈哈哈,有趣吧?
宏任务和微任务有哪些?执行顺序?
宏任务和微任务是在JavaScript中用于处理异步操作的两种机制。
宏任务(Macro Task)是指由浏览器提供的任务队列中的任务,例如DOM事件、setTimeout和setInterval等。宏任务会在主线程执行完当前的同步任务后执行。
微任务(Micro Task)是指由JavaScript引擎提供的任务队列中的任务,例如Promise、MutationObserver和process.nextTick等。微任务会在当前宏任务执行完毕后立即执行。
执行顺序上,当一个宏任务执行完毕后,会检查微任务队列是否有任务需要执行,如果有,则依次执行所有微任务,直到微任务队列为空。然后再执行下一个宏任务。
总结一下,宏任务和微任务的执行顺序如下:
1. 执行一个宏任务。
2. 检查微任务队列,依次执行所有微任务。
3. 更新渲染。
4. 执行下一个宏任务。
阅读全文