【转载】深入理解JavaScript事件循环(Eventloop)和microtask

在做javascript练习题或者面试的时候,总会遇到下面这样的题目:

 console.log("1");

  setTimeout(()=>{
    console.log("2");
  },0);

  Promise.resolve().then(()=>{
    console.log("3");
  });

  console.log("4");

  // 控制台输出1 4 3 2

  想知道为什么是这样的结果,就必须理解javascript的eventloop机制,推荐这位博主DongXu的两篇文章,这里就不转载全文了,推荐大家去他的博客看,还有生动的demo,很容易懂。

深入理解 JavaScript 事件循环(一)— event loop

[译]深入理解 JavaScript 事件循环(二)— task and microtask