js 同步、异步的概念,async 和 await 的说明

embedded/2024/11/9 17:08:55/

啥是同步、啥是异步

JavaScript中,同步(Synchronous)和异步(Asynchronous)是两种处理代码执行顺序的主要方式,

同步(Synchronous)

执行顺序:在同步编程中,代码按照书写顺序,一行一行地执行,每一行代码都必须等待上一行代码执行完毕后才能执行,如果在执行过程中,遇到耗时操作(如网络请求或大量计算),程序会阻塞,直到该操作完成。资源利用:同步编程对系统资源的利用率较低,因为在等待耗时操作完成期间,程序无法执行其他任务。适用场景:适用于,必须按照特定顺序执行,且不需要等待外部资源或异步操作的情况。

异步(Asynchronous)

执行顺序:在异步编程中,代码的执行顺序并非严格按照书写顺序,当遇到耗时操作时,程序不会等待该操作完成,而是继续执行后面的代码,当耗时操作完成后,再通过回调函数、Promise、async/await 等方式通知程序处理结果。资源利用:异步编程可以充分利用系统资源,因为在等待耗时操作完成期间,程序可以执行其他任务。适用场景:适用于那些需要等待外部资源(如网络请求、文件读写等)或异步操作的情况,以提高程序的响应速度和用户体验。

async、await

async 和 await,是JavaScript中用于处理异步操作的关键字,它们本身并不是同步或异步,而是用于简化异步操作的语法糖

async函数

async函数,是用来定义一个异步函数的关键字,它会返回一个Promise对象,在async函数中,可以使用await关键字来等待一个Promise对象的状态变更,以实现同步的写法。

await关键字

await关键字,只能在async函数中使用,用于等待一个Promise对象的状态变更,当使用await关键字等待一个Promise对象时,代码会暂停执行,直到该Promise对象状态变为resolved或rejected,然后继续执行后续代码。

总结

async和await本身并不是同步或异步,它们是用于处理异步操作的语法糖,可以让异步操作以同步的方式来编写和理解。使用async和await,可以简化异步操作的编写,避免回调地狱和提高代码的可读性。

因此

async和await本身并不是同步或异步,而是用于处理异步操作的工具,它们可以让异步操作以更直观、简洁的方式来编写和管理。

http://www.ppmy.cn/embedded/13079.html

相关文章

java学习路线

Java学习路线通常包括从基础语法到高级框架和工具的系统学习过程。以下是一个推荐的Java学习路线,涵盖了从入门到进阶的各个阶段: ### 1. Java基础知识 - **环境搭建**:安装Java开发工具包(JDK)和集成开发环境&#x…

SpringBoot项目启动,传参有哪些方式?

SpringBoot项目启动,传参有哪些方式? 1.Spring级别的参数 直接在启动 Spring Boot 应用的命令行中使用 -- 后跟参数名和值的方式来传递参数。 记住:一般是对于Spring Boot应用特有的配置参数,确保它们遵循Spring Boot的配置属性命…

复习python函数

复习python函数 1.对函数的理解函数的传递方式返回值 return可通过help()函数查看函数说明作用域 2.不定长参数3.递归4.高阶函数将函数作为参数传递将函数作为返回值返回 5.匿名函数6.装饰器 1.对函数的理解 函数可以用来保存一些可执行的代码,并且可以在需要时&am…

鼠标悬停的几种方式

鼠标悬停(Hover)效果是Web设计中常见的交互方式,用于在用户鼠标指针悬停在元素上时提供视觉反馈或触发某些动作。以下是实现鼠标悬停效果的几种常见方式: 1. 使用CSS(Cascading Style Sheets) .item_titl…

如何根据元素的位置关系来调整 CSS 样式

1. 基础知识 什么是兄弟选择器 CSS 兄弟选择器是一种特殊的选择器,它用于选择一个元素的兄弟元素。 在 CSS 中,我们主要使用两种兄弟选择器:相邻兄弟选择器()和通用兄弟选择器(~)。 相邻兄弟…

无法连接到MongoDB Atlas 的Cloud Database

打开Mongodb网页: 选择允许任何地址连接 连接成功

MATLAB实现遗传算法优化BP神经网络预测数值(GABP)

遗传算法(Genetic Algorithm, GA)和反向传播(Back Propagation, BP)神经网络是两种强大的算法,分别用于优化和机器学习。将遗传算法与BP神经网络结合,可以利用遗传算法的全局搜索能力来优化BP神经网络的初始…

axios使用

axios 1、文档 axios中文文档地址 2、定义、特性、使用 2.1 什么是axios Axios 是一个基于promise的 HTTP库 ,可以用在浏览器和node中 2.2 特性 (重点) 从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请…