js中是先宏后微还是先微后宏
时间: 2023-10-28 07:06:33 浏览: 33
在 JavaScript 中,通常先进行微任务(microtask),然后才进行宏任务(macrotask)。
微任务包括 Promise、Object.observe、MutationObserver 等,它们会在当前任务执行完毕后立即执行。
宏任务包括 setTimeout、setInterval、requestAnimationFrame、I/O 操作等,它们会在事件循环的下一轮执行。
因此,在事件循环中,当一个宏任务结束后,会先执行所有的微任务,然后再去取下一个宏任务执行。
相关问题
js中先宏后微还是先微后宏
在 JavaScript 中,先宏后微或先微后宏取决于宏任务和微任务的调度顺序。
宏任务包括整体代码、setTimeout、setInterval、I/O 操作等,微任务包括 Promise、MutationObserver 等。
在事件循环中,当执行栈为空时,会先执行所有的微任务,然后再执行一个宏任务。因此,如果有多个宏任务和多个微任务,它们的执行顺序就会是:先执行所有的微任务,然后执行一个宏任务,再执行所有的微任务,再执行下一个宏任务,以此类推。
因此,如果你想要确保微任务先执行,可以将微任务放在宏任务之前执行。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)