zoukankan      html  css  js  c++  java
  • js -- even-loop 理解

    javascript 是一个单线程的脚本

     js 在事件循环中分为同步任务和异步任务

    同步任务:直接执行

    异步任务:同步任务之后执行

    js 在事件循环流程:

    1>js中含有一个主线程,以及一个调用栈(也叫执行栈)

    2>所有的同步任务都在调用栈中,调用栈都在主线程上执行

    3>主线程之外还有要一个“任务队列”,只要异步任务有了结果,相关事件就会存放其中

    4>一但主线程的 同步任务/调用栈 执行完毕,就会立即调用任务队列异步任务,放入主线程上执行

    5>主线程循环 2-4流程

    在js中,除了同步任务和异步任务,从另外一个角度来看,也分为宏任务(MacroTask),和微任务(MicroTask)。

    MacroTask 并不等于是同步任务, 其中:setTimeoutsetIntervalI/OUI Rendering 等都是宏任务

    MicroTask 包括:Process.nextTickPromise.then catch finally(注意不是 Promise)、MutationObserver,记住这几个其余都是宏任务

  • 相关阅读:
    创建数据库,用户,表
    Tomcat安装配置
    常用JS
    win8以管理员身份安装软件
    mybatis中@Param用法
    springMVC3
    SpringMVC参数绑定
    SpringMVC2
    查询数据库元数据
    mybatis 中 foreach collection的三种用法
  • 原文地址:https://www.cnblogs.com/zhaozhenghao/p/12783691.html
Copyright © 2011-2022 走看看