zoukankan      html  css  js  c++  java
  • js 执行顺序

    同步任务 异步任务

    同步任务:立即执行

    异步任务:进入到异步队列当中(Event Queue)eg:Ajax,SetTimeout,then,SetInterval

    Event loop 事件循环

    Task:Macro Task(宏任务) Micro Task(微任务)

    Macro Task(宏任务):script( 整体代码)、setTimeout、setInterval、I/O、UI 交互事件、setImmediate(Node.js 环境)

    Micro Task(微任务):Promise、MutaionObserver、process.nextTick(Node.js 环境)

    setTimeout/Promise 等API便是任务源,而进入任务队列的是由他们指定的具体执行任务。来自不同任务源的任务会进入到不同的任务队列。其中 setTimeout 与 setInterval 是同源的。

    console.log('script start');

    setTimeout(function() { console.log('timeout1'); }, 10);

    new Promise(resolve => { console.log('promise1');

        resolve();

        setTimeout(() => console.log('timeout2'), 10);

        }).then(function() {

      console.log('then1') })

    console.log('script end');

    再三须慎意,第一莫欺心
  • 相关阅读:
    shell脚本100例、练习使用
    shell基础编程
    mysql基础理论知识
    Docker 基础
    python基础之类(面向对象编程)
    python基础之函数
    python基础之认知及编码
    python基础之数据类型
    python基础之注意事项
    1.linux使用基础
  • 原文地址:https://www.cnblogs.com/otsf/p/9602797.html
Copyright © 2011-2022 走看看