JS异步机制

JS异步机制

主线程、执行栈、任务队列

  1. 主线程不断读取执行栈中的同步事件,直到执行栈空
  2. 异步任务结束放入任务队列,执行栈空时主线程读取任务队列
  3. 任务队列读取完毕,回到步骤1

宏任务与微任务

宏任务:script(整体代码)、setTimeout、setInterval、UI 渲染、 I/O、postMessage、 MessageChannel、setImmediate(Node.js 环境)
微任务:Promise、 MutaionObserver、process.nextTick(Node.js环境)

  1. 主线程先执行宏任务,产生的异步任务完成后放入任务队列
  2. 宏任务完成后主线程执行微任务,完成后回到步骤1

你可能感兴趣的:(js)