JS宏观任务和微观任务

2023-11-15

宏观任务:顺序执行

围观任务:异步执行

先执行宏观任务,在执行微观任务;

宏任务主要包含:script( 整体代码)、setTimeout、setInterval、setImmediate、I/O、UI 交互事件、requestAnimationFrame

微任务主要包含:Promise.then catch finally、MutationObserver、process.nextTick

 console.log('script start');

    setTimeout(function() {

    console.log('setTimeout');

    }, 0);

    Promise.resolve().then(function() {

    console.log('promise1');

    }).then(function() {

    console.log('promise2');

    });

    console.log('script end');

    console.log("**********************");

执行的过程:

1、整个代码当成1个宏任务,先执行完所有的同步代码。打印script start,把setTimout的回调函数放入宏任务队列,Promise的第一个then 放入微任务队列,打印 script end;

2、第一个宏任务执行完毕,检查微任务队列,依次清空微任务队列,打印 promise1,把promise的第二个then放入到微任务队列,同步代码执行完毕,继续清空微任务队列,打印promise2。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS宏观任务和微观任务 的相关文章

  • nginx 之正则表达式(一)

    1 元字符 匹配除换行符以外的任意字符 w 匹配字母或数字或下划线或汉字 s 匹配任意的空白符 d 匹配数字 b 匹配单词的开始或结束 匹配字符串的开始 匹配字符串的结束 2 重复 重复零次或多次 重复一次或多次 重复零次或一次 n 重复n
  • FTP被动模式连接被拒绝(FTP passive mode connection refused)

    I m creating an ftp client and I have a problem First I create a socket where I sent USER and PASS then PASV a receive I

随机推荐

  • 软件工程 第一章 软件工程概述

    1 什么是软件 软件是计算机系统中与硬件相互依存的另一部分 它是包括程序 数据及其相关文档的完整集合 程序 按事先设计的功能和性能需求执行的指令序列 数据 程序能正常操纵信息的数据结构 gt 软件的核心 文档 与程序开发 维护和使用有关的图
  • Java中Stream详细使用教程

    1 java8中Stream流以及lambda的使用 stream可以将需要处理的集合元素看做流操作 是结合对象功能的一个增强 lambda表达式与stream结合使用 可以更好的对集合进行遍历 筛选 排序 聚合 分组 stream特性 不
  • Google Chrome浏览器无法翻译网页怎么办?

    最近喜欢上了一个数据分析的python脚本 可以直接出html版的数据分析报告 但是指标都是英文的 实在是看不懂 就想到了要用网页翻译这个功能 但是发现chrome浏览器不能翻译了 找了很多办法都没有解决 也是找了很久 尝试着找扩展属性包
  • mysql多表查询--实例

    1 创建student和score表 CREATE TABLE student id INT 10 NOT NULL UNIQUE PRIMARY KEY name VARCHAR 20 NOT NULL sex VARCHAR 4 bir
  • matinal:SAP ABAP 生成XML的例子

    REPORT ZXML A SET EXTENDED CHECK OFF TYPE POOLS IXML Report T DOM MANIPULATE shows how to manipulate a dom tree
  • 编译kernel-2.6.38提示错误:Compile error in arch/x86/kernel/entry_64.S

    make 1 katalog home thue linux 2 6 37 4 CHK include linux version h CHK include generated utsrelease h CALL scripts chec
  • IAR查看两断点之间执行时间

    IAR查看两断点之间执行时间 veiw gt register查看 veiw gt register查看 IAR官网原文链接
  • VBA基本语法整理

    转自 http www zjmainstay cn vba usage 1 VBA 局部变量和全局变量 1 局部变量 在Sub或者Function结构中定义的变量 通常使用Dim关键词来声明 但是可以不声明使用 不报错 2 全局变量 在Su
  • Qt中窗体控件按照比例缩放,自适应窗口大小进行布局

    最近在做本科毕设 用到了Qt 无奈本人实在是太过于小白了 很多东西都进行了很久的探索 比如今天说到的窗体控件布局 一把辛酸泪 首先就是创建一个GUI文件 然后进行UI设计 这里就只需要从左边进行拖拽 这个很easy啦 然后对其进行布局 比如
  • facebook大数据搜索库faiss使用——选择Index

    选择Index并不明显 有几个问题可以帮助选择Index 是否需要精确结果 使用Flat IndexFlat2是唯一能保证精确结果的Index 它为其他Index提供了对比标准 它不会压缩向量 不支持带标签添加 只能顺序添加 所以 如果你需
  • java批量生成订单号_Java技术干货分享:浅谈订单号生成设计方案

    最简单的方式 基于数据库 auto increment increment 来获取 ID 首先在数据库中创建一张 sequence 表 其中 seq name 用以区分不同业务标识 从而实现支持多种业务场景下的自增 ID current v
  • 【机器学习】支持向量回归

    有任何的书写错误 排版错误 概念错误等 希望大家包含指正 在阅读本篇之前建议先学习 机器学习 支持向量机 上 硬间隔 机器学习 支持向量机 下 软间隔与核函数 支持向量回归 支持向量回归 support vector regression
  • h5页面点击保存图片可以保存到手机相册

    如图 点击下面的保存图片想要把图片保存到手机相册 div class saveImg 保存图片 div savePic Url Url this imgURL 图片路径 也可以传值进来 var triggerEvent touchstart
  • 深度为1的异步FIFO设计

    其实绝大多数的异步FIFO不会设计成深度为1的FIFO 但是我看很多题都是说到了这个 既然是FIFO那就是控数据流的 设计成深度为1岂不是效率很低 我寻思这就涉及到了一个最小深度的问题 就是对于写满读快或者读写频率相同但是相位不同的FIFO
  • macOS安装Homebrew

    Homebrew官网 http brew sh index zh cn html 方式一 官网安装 Homebrew的安装很简单 mac自带ruby环境 只需在终端下输入如下指令即可完成Homebrew的安装 如果以下链接失效可以去官网看看
  • Logstash 同步log日志文件到Elasticsearch

    1 Elasticsearch安装和Logstash安装环境参照https blog csdn net qq 33371766 article details 103322707 2 启动elasticsearch和kibana 3 在lo
  • 无人驾驶论坛

    1 百度Apollo论坛 http www 51apollo com 2 人工智能中文资讯网 http www ailab cn
  • 如何安装 Deepin 20.1深度操作系统(图文) ?

    Deepin 深度操作系统是一个用户友好的基于 Debian 的 Linux 发行版 它是一个免费和开源的操作系统 主要用于桌面级别 最近 Deepin 20 1 的稳定版本已经发布 Deepin 20 1 附带了稳定的内核版本 5 4 和
  • 【Latex】高级插入图片技巧: 双栏中如何正确插入图片 + 如何多图

    一 双栏中正确使用图片 问题描述 貌似multicols环境中不能放图片 即 begin multicols 2 begin figure centering includegraphics width 0 309 textwidth fi
  • JS宏观任务和微观任务

    宏观任务 顺序执行 围观任务 异步执行 先执行宏观任务 在执行微观任务 宏任务主要包含 script 整体代码 setTimeout setInterval setImmediate I O UI 交互事件 requestAnimation