宏任务和微任务怎么执行的
时间: 2024-06-07 20:10:26 浏览: 111
JavaScript事件循环及宏任务微任务原理解析
5星 · 资源好评率100%
宏任务和微任务都是异步任务,在JavaScript中执行时,它们被放入不同的任务队列中,分别被称为宏任务队列和微任务队列。
当JavaScript引擎遇到一个宏任务时,它会将该任务放入宏任务队列中。当当前执行栈为空时,JavaScript引擎会从宏任务队列中取出第一个任务,并将其放入当前执行栈中执行,直到执行完毕或者遇到异步操作。
当JavaScript引擎遇到一个微任务时,它会将该任务放入微任务队列中。而当当前执行栈为空时,JavaScript引擎会先执行微任务队列中的所有任务,直到该队列为空,然后才会从宏任务队列中取出下一个任务执行。
这意味着微任务始终优先于宏任务执行,因为在JavaScript引擎执行完当前宏任务后,它会先清空微任务队列中的所有任务,然后再执行下一个宏任务。
阅读全文