微任务和宏任务哪个先执行_在线工具

2022年5月7日10:39:47

宏任务

先说一下事件循环:先执行宏任务,再检查有没有微任务,如果有就执行微任务,然后渲染dom,最后进入下一次事件循环。

为什么有人认为微任务先执行? 

     setTimeout(() => {
      console.log("宏任务");
    }, 0);
    Promise.resolve().then((e) => {
      console.log("微任务");
    });

因为上面的代码会先输出微任务,再输出宏任务

这是因为宏任务是下一个事件循环开始的宏任务,而微任务是这次事件循环就执行的微任务,他们之间隔了一个dom渲染。所以造成了微任务比宏任务更快执行的错觉。

  • 作者:怡红公子0526
  • 原文链接:https://www.cnblogs.com/hmswt/p/16241307.html
    更新时间:2022年5月7日10:39:47 ,共 274 字。