• 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)

  • 相关阅读:
    uva2965
    uva10755
    uva3695
    uva2678
    uva 11549
    stringstream使用笔记
    noip2016游记
    java学习(四)--- String 、StringBuffer、StringBuilder 和 数组
    java学习(三)--- 修饰符
    java学习(二)--- 变量类型
  • 原文地址:https://www.cnblogs.com/glb79809-glb/p/14122784.html
Copyright © 2020-2023  润新知