专栏首页女程序员的日常_Lin温故知新-Event Loop (2)

温故知新-Event Loop (2)

对原因的探寻不要半途而废~

console.log(1);
setTimeout(()=>{
    console.log(3);
    Promise.resolve().then(()=>{
        console.log(4);
    })
})
Promise.resolve().then(()=>{
    console.log(6);
    setTimeout(()=>{
        console.log(7)
    })
}) 
// 1 6 3 4 7
  1. 先输出1 ,毫无疑问
  2. 遇到setTimeout 将回调函数放到 异步执行队列中
  3. 遇到promise,是个微任务,此时同步任务队列中没有要执行的任务,所以执行then内的命令,输出6,遇到setTimeout 将setTimeout的回调函数塞到异步队列中
  4. 此时,此时只有异步任务队列中有两个setTimeout的回调函数,队列是先进先出,输出3,此时遇到了promise微任务,所以执行输出4,
  5. 最后执行另一个setTimeout的回调函数,输出7

*注意:这种执行环境是浏览器环境、或者node 11版本及以上都是以上输出结果,node 11开始将event loop 的循环机制与js的保持一致了,所以要注意node版本号哦!

本文分享自微信公众号 - 女程序员的日常(gh_df41d619fb70),作者:凛

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 温故而知新

    做嵌入式开发控制系统,应该经常会用到PID(比例,积分,微分,proportional,integral,derivative)算法,PID 控制器以各种形...

    用户1605515
  • 温故知新,HTTP/2

    去年年底,据国际互联网工程任务组( IETF )消息,HTTP-over-QUIC 实验性协议将被重命名为 HTTP/3,即有望成为 HTTP 协议的第三个正式...

    半吊子全栈工匠
  • Transformer温故知新

    这是之前学习paddle时候的笔记,对Transformer框架进行了拆解,附图解和代码,希望对大家有帮助

    NewBeeNLP
  • 温故而知新,重温 Node.js

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

    江米小枣
  • ​温故知新——Spring AOP

    Spring AOP 面向切面编程,相信大家都不陌生,它和Spring IOC是Spring赖以成名的两个最基础的功能。在咱们平时的工作中,使用IOC的场景比较...

    小忽悠
  • 温故知新——Spring AOP

    Spring AOP 面向切面编程,相信大家都不陌生,它和Spring IOC是Spring赖以成名的两个最基础的功能。在咱们平时的工作中,使用IOC的场景比较...

    小忽悠
  • 温故知新——Spring AOP(二)

    上一篇我们介绍Spring AOP的注解的配置,也叫做Java Config。今天我们看看比较传统的xml的方式如何配置AOP。整体的场景我们还是用原来的,“我...

    小忽悠
  • 温故知新——Spring AOP(二)

    上一篇我们介绍Spring AOP的注解的配置,也叫做Java Config。今天我们看看比较传统的xml的方式如何配置AOP。整体的场景我们还是用原来的,“我...

    小忽悠
  • 【温故知新】概率笔记2——古典概型

    上一章中通过几个示例对概率进行了初步介绍,从本章开始,将系统地介绍概率的相关知识。

    统计学家
  • Event Loop(1)

    进程描述了CPU在运行指令及加载和保存上下文所需的时间,放在应用上来说就代表了一个程序。线程是进程中的更小单位,描述了执行一段指令所需的时间。

    用户3258338
  • C# 温故而知新:Stream篇(—)

    C# 温故而知新:Stream篇(—) 什么是Stream? MSDN 中的解释太简洁了: 提供字节序列的一般视图 (我可不想这么理解,这必定让我抓狂,我理解的...

    小端
  • C# 温故而知新:Stream篇(—)

    目录: 什么是Stream? 什么是字节序列? Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream ...

    逸鹏
  • C# 温故而知新:Stream篇(—)

    (我可不想这么理解,这必定让我抓狂,我理解的流是向自然界的河流那样清澈而又美丽,c#中的流也是一样,许多技术或者说核心技术都需要流的帮忙)

    小端
  • 温故知新:静态分析

    代码在计算机上运行,但用途并不限于此,同样是用来阅读和理解的。不易理解的代码不能轻易地维护或改进,代码库的复杂性与其缺陷率之间存在着相关性。理解大型的代码库是困...

    半吊子全栈工匠
  • 温故知新-JS深拷贝

    用户3258338
  • 温故知新--R基础知识(上)

    R是一种语法非常简单的表达式语言(expression language),大小写敏感。可以在R环境下使用的命名字符集依赖于R所运行的系统和国家(系统的loca...

    统计学家
  • 温故知新--R基础知识(下)

    数组可以看作是带有多个下标类型相同的元素集合。 维度向量(dimension vector)是一个正整数向量。如果它的长度为k,那么该数组就是k-维的。

    统计学家
  • C#温故而知新—闲话.Net

    在Java搞得如火如荼时,微软为了巩固自己的霸主地位,自然要来分一杯羹,于是.NET应运而生。 .Net的战略。 NET是一种面向网络、支持各种用户终端的开...

    JadePeng
  • C# 温故而知新:Stream篇(二)

    TextReader 和StreamReader 目录: 为什么要介绍 TextReader? TextReader的常用属性和方法 TextReader 示例...

    逸鹏

扫码关注云+社区

领取腾讯云代金券