promise宏任务与微任务
时间: 2023-10-15 09:22:55 浏览: 234
18-宏任务和微任务:不是所有任务都是一个待遇_For_vip_user_0011
promise宏任务和微任务是两个不同级别的任务队列。
宏任务是一类较大的任务,它会被推入宏任务队列中,等待执行。一些常见的宏任务包括 setTimeout、setInterval、I/O 操作、UI 渲染等。
微任务是宏任务中的一个步骤,也可以理解为一个较小的任务。当一个宏任务执行完毕后,会检查是否存在微任务队列,如果有,则按顺序执行微任务队列中的任务。常见的微任务包括 Promise 的回调函数、MutationObserver 和一些浏览器的 API(如 IntersectionObserver)。
在事件循环中,每当一个宏任务执行完毕后,会检查微任务队列并执行其中的所有微任务,直到微任务队列为空。然后再从宏任务队列中取出下一个宏任务执行。这样循环进行,直到所有任务都完成。
总结起来,宏任务可以看作是整个代码块,而微任务是在某个宏任务中的一个步骤。微任务相对于宏任务来说具有更高的优先级,因为它们会在当前宏任务执行完成后立即执行。
阅读全文