zoukankan      html  css  js  c++  java
  • JavaScript的事件循环机制总结 eventLoop

     

    1.代码开始执行,遇到console.log(1) ,打印 1
    2.代码继续执行,遇到setTimeout,此为异步任务,交给异步处理模块,因为没有延迟时间,所以console.log(2)很快加入到了宏任务队列中
    3.代码继续执行,遇到console.log(3),打印 3
    4.代码继续执行,遇到then函数,此为异步任务,交给异步处理模块,因为promise马上就resolve,所以console.log(4)很快加入到了微任务队列中
    5.代码继续执行,遇到遇到console.log(5) ,打印 5
    6.代码同步任务执行完毕,查看微任务队列中是否有任务,发现有console.log(4)。
    7.微任务队列被清空,查看宏任务队列中是否有任务,发现有console.log(2)。

    常见的宏任务

    1.script代码(整体的外层代码其实就是第一个宏任务)
    2.setTimeout,setInterval,setImmediate
    3. i/o事件
    4. UI事件,比如点击事件

    常见的微任务

    promise
    process.nextTick(Node.js)

  • 相关阅读:
    用户使用调查报告
    Beta总结
    Beta冲刺Day7
    Beta冲刺Day6
    Beta冲刺Day5
    Beta冲刺Day4
    Beta冲刺Day3
    Beta冲刺Day2
    Beta冲刺Day1
    Beta预备
  • 原文地址:https://www.cnblogs.com/xujing0808/p/14235450.html
Copyright © 2011-2022 走看看