微任务和宏任务的区别及具体场景

微任务和宏任务皆为异步任务,它们都属于一个队列,主要区别在于他们的执行顺序,Event Loop的走向和取值。

任务之间的一些划分

概念

1.宏观任务:当前调用栈中执行的代码成为宏任务。(主代码块、setTimeout、setInterval、I/O、UI 交互事件、setImmediate等等)。
2.微观任务: 当前(此次事件循环中)宏任务执行完,在下一个宏任务开始之前需要执行的任务,可以理解为回调事件。(Promise.then、MutaionObserver、process.nextTick等等)。
3.宏任务中的事件放在callback queue中,由事件触发线程维护;微任务的事件放在微任务队列中,由js引擎线程维护。

任务之间的执行顺序

宏任务与微任务之间的执行顺序(同步任务->微任务->宏任务)
到这里,必须得用代码来举个例子

微任务和宏任务的区别及具体场景相关推荐

  1. 微任务,宏任务,DOM渲染的执行顺序

    event loop过程 同步代码,一行一行放在Call Stack执行 遇到异步先记录下来,等待时机(定时,网络请求) 时机一到立马推入Callback Queue中 如Call Stack为空(同 ...

  2. ES6 —— 3、async-await、微任务和宏任务、class、proxy(代理)

    重写留言板2: index2.js const obj = {m:new Map(),$:name => document.querySelector(name),bind:function() ...

  3. 详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务

    队列在前端中的应用 一.队列是什么 二.应用场景 三.前端与队列:事件循环与任务队列 1.event loop 2.JS如何执行 3.event loop过程 4. DOM 事件和 event loo ...

  4. JavaScript异步编程【上】 -- 同步和异步、事件循环(EventLoop)、微任务和宏任务、回调函数

    文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在我们学习JavaScript中,我们知道,JavaScript的执行环境是单线程的.所谓单线程是指一次只能完成一个任务,如果有多个任务,就必须排队 ...

  5. JavaScript基础:浅聊事件循环(Event LooP)以及微任务,宏任务,DOM渲染

    一直说JavaScript是单线程的执行的(当然也可以通过其它其它的方式异步,本篇暂时不聊). 内核的组成 首先聊一下浏览器的内核组成部分,当然下面也不是全部,而只是说一些常见的. 主线线程 js引擎 ...

  6. async js 返回值_图文讲解浏览器执行JS过程中的微任务和宏任务

    背景 我们知道浏览器有一个特定的事件执行机制,专业名词叫做Event Loop.如下图所示,浏览器会优先执行同步代码,遇到异步的代码时,会被挂起并在需要执行的时候加入到 Task(有多种 Task) ...

  7. 内联函数有什么优点?内联函数与宏定义的区别?

    内联函数的优点 内联函数比宏定义更加的安全,因为前者进行参数检查,而后者仅仅是简单地文本替换. 内联函数和宏定义的区别 宏定义是在预处理阶段进行的文本替换. 内联函数是在编译阶段进行的替换,优点是减少 ...

  8. 微内核和宏内核的区别_8086微处理器中的过程和宏之间的区别

    微内核和宏内核的区别 Prerequisite 先决条件 Procedure in 8086 Microprocessor 8086微处理器中的过程 Macros in 8086 Microproce ...

  9. 【Day09】JavaScript 为什么要区分微任务和宏任务

    JavaScript 为什么要区分微任务和宏任务 区分微任务和宏任务是为了将异步队列任务划分优先级,通俗的理解就是为了插队. 一个 Event Loop,Microtask 是在 Macrotask ...

最新文章

  1. 登录 googlecloud,链接数据库
  2. 图的两种遍历算法——BFS和DFS
  3. 国科大prml15-目标检测
  4. centeros7安装mysql5.6_CentOS7安装MySQL5.6
  5. Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
  6. 【华为云技术分享】云小课 | 灵活配置权限,满足存储安全(OBS权限管理介绍上篇)
  7. delphi中Record 和Packed Record的区别
  8. 深度优先算法解决有向有权图的最短路径问题
  9. Himly TCC Dubbo 程序示例
  10. android 使用shell模拟触屏_android命令行模拟输入事件(文字、按键、触摸等)
  11. 【STM32H7教程】第39章 STM32H7的DMAMUX基础知识(重要)
  12. PADS——导出Gerber文件
  13. try-catch-finally中的4个大坑,老程序员也搞不定
  14. java将数据库数据转换成word文档并且生成pdf文件最后转换成对应的图片
  15. 元数据管理 开源项目技术选型
  16. 广义相对论-学习记录7-第三章-张量分析与黎曼几何4
  17. amcharts php,amcharts实现动态数据介绍
  18. 小汽车的位置(二维坐标运算)
  19. 漏洞检测:异常页面导致服务器路径泄漏 WASC Threat Classification
  20. uni-app,一段文字实现展开、收起全文点点点

热门文章

  1. 卷积神经网络CNN的前向和后向传播(一)
  2. NUMA与英特尔下一代Xeon处理器学习心得(2)
  3. guest vlan
  4. java 的接口get和post请求
  5. Signal(信号)
  6. 第二届BMZCTF网络安全公开赛
  7. 2022时事政治考试题库精选
  8. 场位方程——静电场问题(静电场的高斯定律+法拉第传导定律) | 偏微分方程(四)
  9. 网络交换机端口管理工具
  10. ZIP压缩文件的打开密码和自动加密有什么不同?