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)

  • 相关阅读:
    web前端-----第二弹CSS
    web前端-----第一弹html
    mysql数据库第三弹
    mysql数据库第二弹
    mysql数据库第一弹
    django
    mysql基础
    面向对象进阶
    继承、多态、多态性
    面向对象的程序设计
  • 原文地址:https://www.cnblogs.com/glb79809-glb/p/14122784.html
Copyright © 2011-2022 走看看