任务队列

2023-01-05  本文已影响0人  alue

JavaScript 的任务循环中有两种队列:

  1. 宏任务队列(也直接称作任务队列)--(macro)task queue
  2. 微任务队列-- microtask queue

常见的宏任务与微任务

宏任务 (Macro)task setTimeout,setInterval, setImmediate
微任务 Microtask process.nextTick, Promise callback, queueMicrotask

执行顺序

  1. 栈中的函数返回值后,出栈.
  2. 如果栈空, 微任务队列里的所有微任务依次入栈,
    并且执行.(微任务自身还能产生新的微任务)
  3. 栈空且微任务队列空,取出下一个宏任务入栈执行.
    重复1~3
上一篇 下一篇

猜你喜欢

热点阅读