微任务和宏任务的区别及具体场景
微任务和宏任务的区别及具体场景
微任务和宏任务皆为异步任务,它们都属于一个队列,主要区别在于他们的执行顺序,Event Loop的走向和取值。
任务之间的一些划分
概念
1.宏观任务:当前调用栈中执行的代码成为宏任务。(主代码块、setTimeout、setInterval、I/O、UI 交互事件、setImmediate等等)。
2.微观任务: 当前(此次事件循环中)宏任务执行完,在下一个宏任务开始之前需要执行的任务,可以理解为回调事件。(Promise.then、MutaionObserver、process.nextTick等等)。
3.宏任务中的事件放在callback queue中,由事件触发线程维护;微任务的事件放在微任务队列中,由js引擎线程维护。
任务之间的执行顺序
宏任务与微任务之间的执行顺序(同步任务->微任务->宏任务)
到这里,必须得用代码来举个例子
微任务和宏任务的区别及具体场景相关推荐
- 微任务,宏任务,DOM渲染的执行顺序
event loop过程 同步代码,一行一行放在Call Stack执行 遇到异步先记录下来,等待时机(定时,网络请求) 时机一到立马推入Callback Queue中 如Call Stack为空(同 ...
- ES6 —— 3、async-await、微任务和宏任务、class、proxy(代理)
重写留言板2: index2.js const obj = {m:new Map(),$:name => document.querySelector(name),bind:function() ...
- 详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
队列在前端中的应用 一.队列是什么 二.应用场景 三.前端与队列:事件循环与任务队列 1.event loop 2.JS如何执行 3.event loop过程 4. DOM 事件和 event loo ...
- JavaScript异步编程【上】 -- 同步和异步、事件循环(EventLoop)、微任务和宏任务、回调函数
文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在我们学习JavaScript中,我们知道,JavaScript的执行环境是单线程的.所谓单线程是指一次只能完成一个任务,如果有多个任务,就必须排队 ...
- JavaScript基础:浅聊事件循环(Event LooP)以及微任务,宏任务,DOM渲染
一直说JavaScript是单线程的执行的(当然也可以通过其它其它的方式异步,本篇暂时不聊). 内核的组成 首先聊一下浏览器的内核组成部分,当然下面也不是全部,而只是说一些常见的. 主线线程 js引擎 ...
- async js 返回值_图文讲解浏览器执行JS过程中的微任务和宏任务
背景 我们知道浏览器有一个特定的事件执行机制,专业名词叫做Event Loop.如下图所示,浏览器会优先执行同步代码,遇到异步的代码时,会被挂起并在需要执行的时候加入到 Task(有多种 Task) ...
- 内联函数有什么优点?内联函数与宏定义的区别?
内联函数的优点 内联函数比宏定义更加的安全,因为前者进行参数检查,而后者仅仅是简单地文本替换. 内联函数和宏定义的区别 宏定义是在预处理阶段进行的文本替换. 内联函数是在编译阶段进行的替换,优点是减少 ...
- 微内核和宏内核的区别_8086微处理器中的过程和宏之间的区别
微内核和宏内核的区别 Prerequisite 先决条件 Procedure in 8086 Microprocessor 8086微处理器中的过程 Macros in 8086 Microproce ...
- 【Day09】JavaScript 为什么要区分微任务和宏任务
JavaScript 为什么要区分微任务和宏任务 区分微任务和宏任务是为了将异步队列任务划分优先级,通俗的理解就是为了插队. 一个 Event Loop,Microtask 是在 Macrotask ...
最新文章
- 登录 googlecloud,链接数据库
- 图的两种遍历算法——BFS和DFS
- 国科大prml15-目标检测
- centeros7安装mysql5.6_CentOS7安装MySQL5.6
- Matlab 【应用】【1】用Matlab找一组模拟波形的极值(含极大值、极小值、最大值)并在图中画出来
- 【华为云技术分享】云小课 | 灵活配置权限,满足存储安全(OBS权限管理介绍上篇)
- delphi中Record 和Packed Record的区别
- 深度优先算法解决有向有权图的最短路径问题
- Himly TCC Dubbo 程序示例
- android 使用shell模拟触屏_android命令行模拟输入事件(文字、按键、触摸等)
- 【STM32H7教程】第39章 STM32H7的DMAMUX基础知识(重要)
- PADS——导出Gerber文件
- try-catch-finally中的4个大坑,老程序员也搞不定
- java将数据库数据转换成word文档并且生成pdf文件最后转换成对应的图片
- 元数据管理 开源项目技术选型
- 广义相对论-学习记录7-第三章-张量分析与黎曼几何4
- amcharts php,amcharts实现动态数据介绍
- 小汽车的位置(二维坐标运算)
- 漏洞检测:异常页面导致服务器路径泄漏 WASC Threat Classification
- uni-app,一段文字实现展开、收起全文点点点