js为什么会阻塞渲染, 什么是异步?

news/2024/10/31 3:30:58/

javaScript 是单线程执行的语言,它的执行机制是基于事件循环模型的。当 JavaScript 执行代码时,如果遇到阻塞(如执行时间较长的代码、同步的网络请求、计算密集型操作等),则会阻塞 JavaScript 引擎的执行,直到阻塞的操作完成才能继续执行下面的代码。

由于渲染页面也是由 JavaScript 引擎执行的,因此当 JavaScript 执行阻塞操作时,会阻塞渲染进程的执行,导致页面出现卡顿、失去响应等现象,影响用户体验。

例如,在 JavaScript 中执行一个循环,如果循环次数较多,会导致 JavaScript 引擎长时间占用 CPU,阻塞其他代码的执行,包括渲染进程的执行,从而导致页面出现卡顿现象。

JavaScript 中的异步指的是在执行代码时,某些操作会被推迟到后面再执行。与同步代码不同,异步代码不会阻塞程序的执行。当异步操作完成后,它会通知 JavaScript 引擎并将结果传递给处理函数进行处理。

JavaScript 中常见的异步操作包括:

定时器:使用 setTimeout 或 setInterval 函数设置定时器,在指定的时间后执行回调函数。

网络请求:使用 XMLHttpRequest 或 fetch 函数发起网络请求,请求完成后触发回调函数处理返回结果。

事件处理:在 DOM 元素上注册事件处理函数,当事件发生时触发回调函数。

Promise:使用 Promise 封装异步操作,通过 then 方法链式调用多个异步操作,处理操作结果。

async/await:使用 async 和 await 关键字简化 Promise 的使用,以同步的方式编写异步代码。

在 JavaScript 中,异步操作通常使用回调函数、Promise、async/await 等机制来处理操作完成后的结果。异步编程可以帮助提高程序的性能和响应性,避免程序的阻塞和卡顿现象,常用于处理网络请求、I/O 操作、定时器、事件处理等场景。


http://www.ppmy.cn/news/67764.html

相关文章

口腔污水处理设备工艺流程

口腔污水处理设备工艺流程 该污水处理要经过滤网去除水中杂物,再对废水进行消毒。依据以往的工程经历以及医疗机构水污染物排放标准中的规则,选用过滤消毒对污水进行净化处理污水处理设备的工艺路线断定如下:医院污水一过滤一消毒一排放。 口腔污水外理设…

这个原因,让你自动化测试年薪30W+也不能躺平

其实这个问题,我们遇到到很多次: “自动化就可以满足我现在的公司需求,为什么不躺平,还要继续学测开?” 每次遇到这个问题后,立马就会有一个“涨薪效应”:收到粉丝们的高薪offer ​ 其实&#x…

25岁,本科学历,待业,如何成为优秀的数据分析师,值得关注!

25岁,本科学历,待业,如何成为优秀的数据分析师,值得关注! 你是在工作几年后确定自己的职业方向的呢?还是一直都是处于迷茫,随波逐流的状态?都说谁的青春不迷茫,但时间是最…

搭建家庭影音媒体中心 --公网远程连接Jellyfin流媒体服务器

文章目录 前言1. 安装Home Assistant2. 配置Home Assistant3. 安装cpolar内网穿透3.1 windows系统3.2 Linux系统3.3 macOS系统 4. 映射Home Assistant端口5. 公网访问Home Assistant6. 固定公网地址6.1 保留一个固定二级子域名6.2 配置固定二级子域名 转载自远程穿透的文章&…

Linux 学习笔记(六):wait() 系统调用

一、wait() 介绍 有时候我们需要让一个进程等待另一个进程(最常见的是父进程等待自己的子进程,或者父进程回收自己的子进程资源包括僵尸进程),就需要使用到系统调用函数—— wait() 。对 wait 的调用会阻塞调用进程,直…

【CocosCreator入门】CocosCreator组件 | Collider(碰撞)组件

Cocos Creator是一款流行的游戏开发引擎,具有丰富的组件和工具,其中碰撞系统组件是该引擎的重要组成部分。该组件可用于检测游戏中各个元素之间的碰撞,例如玩家角色与敌人、子弹与障碍物等。 目录 一、组件介绍 二、组件属性 2.1BoxCollid…

Java面试知识点(全)-设计模式二

Java面试知识点(全) 导航: https://nanxiang.blog.csdn.net/article/details/130640392 注:随时更新 13.模板模式 定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构即可重定义该算法的…

ASEMI代理LT8471IFE#PBF原装ADI车规级LT8471IFE#PBF

编辑:ll ASEMI代理LT8471IFE#PBF原装ADI车规级LT8471IFE#PBF 型号:LT8471IFE#PBF 品牌:ADI/亚德诺 封装:TSSOP-20 批号:2023 引脚数量:20 工作温度:-40C~125C 安装类型:表面…