角色中宏任务微任务有哪些
时间: 2023-11-02 12:45:43 浏览: 103
在编程中,角色通常指的是JavaScript中的异步任务处理模型。在这个模型中,有宏任务(macro task)和微任务(micro task)这两种不同类型的任务。它们的执行顺序和优先级是不同的。
宏任务(macro task)包括:
1. 整体的script代码(作为第一个宏任务执行)
2. setTimeout和setInterval回调函数
3. I/O操作
4. UI渲染
微任务(micro task)包括:
1. Promise回调函数(then、catch、finally)
2. MutationObserver的回调函数
3. process.nextTick(Node.js环境)
在事件循环中,当一个宏任务执行完毕后,会检查是否有微任务需要执行。如果有微任务,会一直执行完所有的微任务,直到微任务队列为空,然后再执行下一个宏任务。
需要注意的是,微任务具有更高的优先级,它们会在下一个宏任务之前立即执行。这就意味着,在同一个宏任务中产生的微任务会在该宏任务结束前执行完毕。
阅读全文