zoukankan      html  css  js  c++  java
  • js事件循环机制(event loop)之宏任务/微任务

    微任务和宏任务属于一个队列,主要区别在于它们的执行顺序(宏任务执行完如果有可执行的微任务则执行完微任务才会继续执行下一个宏任务)

    宏任务:包括整体代码script,,setInterval,setImmediate。

    微任务:原生Promise(有些实现的promise将then方法放到了宏任务中)、process.nextTick、MutationObserver

    例如:

      <script>
        console.log(222)
        Promise.resolve().then(() => {
          console.log(11)
        })
        console.log(444)
      </script>
      <script>
        console.log(333)
      </script>

    打印结果是:

     解释:首先script是一个宏任务,两个script标签是两个宏任务,按照事件循环的规则执行顺序  第一个宏任务执行完成(222,444)==》执行存在的微任务(11)==》执行第二个宏任务(333)

  • 相关阅读:
    绘制程序流程图笔记
    强软弱虚引用
    安全点和安全区域
    垃圾回收算法
    垃圾回收相关算法
    内存访问全过程
    多级页表与快表
    分页
    虚拟内存
    内存分段机制
  • 原文地址:https://www.cnblogs.com/wangxirui/p/11851949.html
Copyright © 2011-2022 走看看