首页 > 其他分享 >浏览器事件循环

浏览器事件循环

时间:2022-11-07 19:11:46浏览次数:48  
标签:Node 浏览器 队列 microtask 任务 循环 事件 执行

  1. 执行js代码的时候,遇见同步任务,直接推入调用栈中执行,遇到异步任务,将该任务挂起,等到异步任务有返回之后推入到任务队列中,当调用栈中的所有同步任务全部执行完成,将任务队列中的任务按顺序一个一个的推入并执行,重复执行这一系列的行为。
  2. 异步任务又分为宏任务和微任务。 宏任务:任务队列中的任务称为宏任务,每个宏任务中都包含了一个微任务队列。 微任务:等宏任务中的主要功能都完成后,渲染引擎不急着去执行下一个宏任务,而是执行当前宏任务中的微任务
  3. 宏任务包含:执行script标签内部代码、setTimeout/setInterval、ajax请、postMessageMessageChannel、setImmediate,I/O(Node.js) 微任务包含:Promise、MutonObserver、Object.observe、process.nextTick(Node.js) 加分回答 浏览器和Node 环境下,microtask 任务队列的执行时机不同 - Node端,microtask 在事件循环的各个阶段之间执行 - 浏览器端,microtask 在事件循环的 macrotask 执行完之后执行

标签:Node,浏览器,队列,microtask,任务,循环,事件,执行
From: https://www.cnblogs.com/coderz1/p/16867052.html

相关文章

  • 浏览器内核的解析和对比
    要搞清楚浏览器内核是什么,首先应该先搞清楚浏览器的构成。简单来说浏览器可以分为两部分,shell+内核。其中shell的种类相对比较多,内核则比较少。Shell是指浏览器的外壳:例如......
  • Eureka 注册、下线、续约事件的监听使用
    前言看图: 现在开发节奏如此紧张,大多数人为了跟得上敏捷的节奏,也就无形中丢掉了对技术整合的更多的拓展学习。那么,我选择小白文科普。不管这些东西是否简单还是复杂,只要存......
  • SpringBoot 事件发布监听机制使用、分析、注意点 (一篇到位)
    前言这一篇从应用角度来跟大伙讲讲这个spring事件监听机制,顺便涉及到那些我认为大家应该一块了解的,我也会展开说说。文章内容(包括不限于):1.对比观察者模式2.应用场景......
  • MySQL_流程控制_循环结构
    分类WHILELOOPREPEAT 循环控制:Iterate类似于continue,继续,结束本次循环,继续下一次Leave类似于break,跳出,结束当前所在的循环 1WHILE语法【标签:】WHILE循环条......
  • node.js inspect 浏览器 断点调试技巧与原理
    做前端开发你一定会用到浏览器自带的各种调试工具firebug谷歌的debugtools等,我们太过于熟悉使用这些工具了,以致于在node开发中同样的js文件我们是否也可以用浏览器就行调......
  • js事件双向绑定
    <inputid="input"type="text"/><spanid="span"></span><script>varinput=document.querySelector("#input);varspan=document.querySelector("#span......
  • chrome谷歌浏览器多开(独立环境 独立cookie)
    复制下面代码(路径)"C:\ProgramFiles\Google\Chrome\Application\chrome.exe"--user-data-dir="D:\ProgramFiles\Google\Chrome1"正常安装谷歌浏览器安装好后桌面......
  • 《网络是怎样连接的》web浏览器的探索
     1.生成HTTP请求消息首先,这张图特别重要,这把网络整个的连接过程表示出来了,整个过程讲述的是在浏览器输入网址(url)之后,web浏览器解析网址信息,生成http请求消息,然后先把we......
  • Vue的键盘事件
    1.常见的键盘事件 keydown:按下键盘,不需要抬起来就会触发keyup:按下键盘,等键盘抬起来才会触发 2.键盘按下,输出输入框中输入的值 <!DOCTYPEhtml><htmllang="en......
  • Jquery事件应牢记的地方
    1事件回调函数中的this代表事件绑定的DOM元素,因此,可以用$(this)获得该DOM元素的引用;例如:$("#myID").click(function(){ $(this).hide();});//这里的......