JavaScript笔试题---主程序、Promise.then、process.nextTick、事件队列(setTimeout、setInterval、ajax)的执行顺序

JavaScript笔试题---主程序、Promise.then、process.nextTick、事件队列(setTimeout、setInterval、ajax)的执行顺序_第1张图片

  1. 在程序执行开始时,先进入主程序中执行
  2. 等主程序中执行完毕之后进入事件循环【微任务(microTask)+事件队列】

主程序:如console.log(1),还有Promise中.then前的console.log()都在主程序中执行

微任务:process.nextTaskPromise.then都存放在微任务中执行,并且process.nextTask()比Promise.then的优先级高,所以process.nextTask()先执行

事件队列:setTimeout()、setInterval()、ajax等都存放在事件队列中,在队列中按照“先进先出”(即,先进的先执行)

总结
主程序 → process.nextTask() → Promise.then() → 事件队列

题1:

你可能感兴趣的:(JavaScript,Promise,&&,setTimeout)