async函数用法
目录
1.概念
2.本质
3.语法
4.特点
5.async基本使用
6.async里的await普通函数返回值
7.async里的await Promise函数成功返回值
8.async里的await Promise函数失败返回值
9.解决async里的await Promise函数失败后不执行下面内容
1.概念
真正意义上解决异步回调的问题,同步流程表达异步操作
2.本质
Generator的语法糖
3.语法
async function foo(){await 异步操作;await 异步操作;
}
4.特点
1、不需要像Generator去调用next 方法,遇到await等待,当前的异步操作完成就往下执行
2、返回的点是promise对象,可以用then 万法进行下一步操作
3、async取代Generator西数的星号*,await取Generator的yield
4、语意上更为明确,使用简单
5.async基本使用
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">// async 基本用法async function foo(){return new Promise(resolve => {setTimeout(resolve,2000)})}async function testAsync(){console.log("开始执行",new Date().toTimeString())await foo();console.log("开始执行",new Date().toTimeString())}testAsync();</script>
</body>
</html>
6.async里的await普通函数返回值
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>async</title>
</head>
<body>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">function test2(){return {code:200,data:{}}}// async 里面 await 返回值async function asyncPrint(){let res = await test2();console.log(res)}asyncPrint()
</script>
</body>
</html>

7.async里的await Promise函数成功返回值
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>async</title>
</head>
<body>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">// async 里面 await 返回值async function asyncPrint(){let res = await Promise.resolve({"key":"value"});console.log(res)}asyncPrint()
</script>
</body>
</html>

8.async里的await Promise函数失败返回值
解决报错后面代码不执行,
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>async</title>
</head>
<body>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">// async 里面 await 返回值async function asyncPrint(){let res = await Promise.reject({"code":"400"});console.log(res)}asyncPrint()
</script>
</body>
</html>

9.解决async里的await Promise函数失败后不执行下面内容
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>async</title>
</head>
<body>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">async function test(obj){return new Promise((resolve,reject)=>{// 模拟异常// key=1为异常,异常处理也用resolve()函数if(obj.key==1){resolve(false);}else{resolve({code:200})}})}// async 里面 await 返回值async function asyncPrint(){let res = await test({key:1});console.log(res)console.log("12313")}asyncPrint()</script>
</body>
</html>

相关文章:
async函数用法
目录 1.概念 2.本质 3.语法 4.特点 5.async基本使用 6.async里的await普通函数返回值 7.async里的await Promise函数成功返回值 8.async里的await Promise函数失败返回值 9.解决async里的await Promise函数失败后不执行下面内容 1.概念 真正意义上解决异步回调的问题&am…...
简谈软件版本周期 | Alpha、Beta、RC、Stable版本之间的区别
目录 💌 引言 ⭕ 软件版本周期 🛠️ 软件开发期 ⚖️ 软件完成期 💰 商业软件版本 💌 引言 定义好版本号,对于产品的版本发布与持续更新很重要;但是对于版本怎么定义,规则如何确定&#x…...
VS2022发布独立部署的.net程序
.net core支持依赖框架部署和独立部署两种方式,之前学习时是在VSCode中使用dotnet命令发布的。但是在VS2022中却不知道该如何设置。以获取PDF文件使用字体的项目为例,VS2022中默认编译的是依赖框架部署方式(编译的结果如下图所示)…...
5-网络初识——封装和分用
目录 1.数据封装的过程 2.数据分用的过程 PS:网络数据传输的基本流程(以QQ为例,A给B发送一个hello): 一、发送方: 二、接收方: 不同的协议层对数据包有不同的称谓,在传输层叫做…...
机器学习——特征工程
对于机器学习特征工程的知识,你是怎样理解“特征” 在机器学习中,特征(Feature)是指从原始数据中提取出来的、用于训练和测试机器学习模型的各种属性、变量或特点。特征可以是任何类型的数据,例如数字、文本、图像、音…...
ubuntu安装搜狗输入法,图文详解+踩坑解决
搜狗输入法已支持Ubuntu16.04、18.04、19.10、20.04、20.10,本教程系统是基于ubuntu18.04 一、添加中文语言支持 系统设置—>区域和语言—>管理已安装的语言—>在“语言”tab下—>点击“添加或删除语言”。 弹出“已安装语言”窗口,勾选中文…...
docker 数据持久化
目录 一、将本地目录直接映射到容器里(运行成容器时候进行映射) 二、数据卷模式 1、创建数据卷 2、查看数据卷列表,有哪些数据卷 3、查看某个数据卷 4、容器目录挂载到数据卷 5、数据卷的优势:多个容器共享一个数据卷 默认…...
Pytest运行指定的case,这个方法真的很高效……
Pytest运行指定的case 在测试工作中,当我们写了较多的cases时,如果每次都要全部运行一遍,无疑是很浪费时间的,而且效率低下。 但是有一种方法可以帮助你快速地运行指定的测试用例,提高测试效率,那就是使用…...
操作系统复习2.3.4-进程同步问题
生产者-消费者 系统中有一组生产者进程和一组消费者进程 两者共享一个初始为空,大小为n的缓冲区 缓冲区没满,生产者才能放入 缓冲区没空,消费者才能取出 互斥地访问缓冲区 互斥要在同步之后,不然会导致想要同步,但由…...
3ds MAX 基本体建模,长方体、圆柱体和球体
3ds MAX基本页面如下: 生成新的几何体在右侧: 选择生成的对象类型即可,以下为例子: 1、长方体建模 选择建立的对象类型为长方形 在 任意一个窗口绘制,鼠标滑动 这里选择左上角的俯视图 松开鼠标后,可以…...
搭建个人博客
个人网站用处有很多,可以写博客来记录学习过程中的各种事,不管是新知识还是踩坑记录,写完就丢在网站上,方便日后复习,也可以共享给他人,让其他人避免踩雷。 当然也不仅限于技术性的文章,生活中有…...
JavaScript进阶(下)
# JavaScript 进阶 - 第3天笔记 > 了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装。 - 了解面向对象编程的一般特征 - 掌握基于构造函数原型对象的逻辑封装 - 掌握基于原型对…...
基于PyQt5的图形化界面开发——堆栈动画演示
目录 0. 前言1. 了解堆栈2.代码实现3. 演示效果其他PyQt5文章 0. 前言 本文使用 PyQt5制作图形化界面演示数据结构中的堆栈操作 操作系统:Windows10 专业版 开发环境:Pycahrm Comunity 2022.3 Python解释器版本:Python3.8 第三方库&…...
2023 年第三届长三角高校数学建模竞赛赛题浅析
为了更好地让大家本次长三角比赛选题,我将对本次比赛的题目进行简要浅析。数模模型通常分为优化、预测、评价三类,而本次数学题目就正好对应着A、B、C分别为优化、预测、评价。整体难度不大,主要难点在于A题的优化以及B、C的数据收集。稍后&a…...
sqlite3免费加密开源项目sqlcipher简单使用
一、概述 使用sqlite3的免费版本是不支持加密的。为了能使用上加密sqlite3,有一个免费的开源项目sqlcipher提供了免费和付费的加密sqlite功能。我们当然选择免费的版本啦。 官方网站: https://www.zetetic.net/sqlcipher/open-source/ 文档目录&#…...
SOLIDWORKS PDM Professional中的Add-ins
实现COM接口IEdmAddIn5的DLLs:IEdmAddIn5 Interface - 2019 - SOLIDWORKS API Help。通过“Add-in特性”对话框添加到文件库中:Administrate Add-ins Dialog Box - 2019 - SOLIDWORKS API Help通知SOLIDWORKS PDM Professional 用户操作: 将Add-in添加到…...
干货 | 郭晓雷:数智安全监管机制研究与思考
作者:郭晓雷本文约4300字,建议阅读8分钟 本文报告的主要内容关于数据安全,从学术或者技术的角度,更多地认为人工智能是数据处理的新技术,其应用会产生更加丰富的数据处理活动场景。 郭晓雷:今天报告的主要内…...
感应雷电浪涌的防线,SPD浪涌保护器
SPD - Surge Protective Device SPD 是防止雷击导致故障的避雷器,代表浪涌保护设备。一般指浪涌保护器,浪涌保护器,也叫防雷器,是一种为各种电子设备、仪器仪表、通讯线路提供安全防护的电子装置。 IEC/ EN61643-11 (…...
ThreeJS教程:屏幕坐标转标准设备坐标
推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 屏幕坐标转标准设备坐标 在讲解下节课鼠标点击选中模型之前,先给大家讲解下坐标系的问题。 获取鼠标事件坐标 先来了解一些,普通的web前端相关知识。 鼠…...
[elasticsearch 实现插入查询小demo ]
目录 前言: 。以下是Java语言实现Elasticsearch数据插入和批量插入的示例代码: 我们需要定义一个ElasticsearchUtil类来封装Elasticsearch操作。在本示例中,我们实现了以下方法: 下面是一个Java代码示例,演示了如何使用Elast…...
Windhawk终极指南:5分钟掌握Windows系统个性化定制
Windhawk终极指南:5分钟掌握Windows系统个性化定制 【免费下载链接】windhawk The customization marketplace for Windows programs: https://windhawk.net/ 项目地址: https://gitcode.com/gh_mirrors/wi/windhawk Windows系统定制一直是许多用户的痛点&am…...
瑞芯微RV1126在无人机视觉AI应用:从芯片选型到部署实战
1. 项目概述:当国产芯遇上天空之眼最近几年,无人机早已不是航拍发烧友的专属玩具,它在农业植保、电力巡检、安防监控、测绘建模等专业领域大放异彩。在这些场景里,无人机不再仅仅是“会飞的相机”,它需要成为一台“会飞…...
GHelper:华硕笔记本性能调优的轻量级革命
GHelper:华硕笔记本性能调优的轻量级革命 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Expertbook, RO…...
Midjourney印象派商业级应用白皮书(含版权合规清单):广告/出版/IP衍生必备的5类授权边界判定法
更多请点击: https://kaifayun.com 第一章:Midjourney印象派商业级应用白皮书导论 Midjourney 不仅是生成式AI图像工具,更是一种可嵌入品牌视觉系统、广告创意链路与数字内容工业化流程的视觉协作者。其“印象派”风格能力——强调光色律动、…...
Real-ESRGAN终极指南:5分钟掌握AI图像超分辨率技术,让模糊照片秒变高清
Real-ESRGAN终极指南:5分钟掌握AI图像超分辨率技术,让模糊照片秒变高清 【免费下载链接】Real-ESRGAN Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. 项目地址: https://gitcode.com/gh_mirrors/re/Real…...
毕业论文难写?2026年AI写作辅助网站排行榜权威发布,轻松定稿不是梦!
写论文效率低、熬夜赶稿、查重不过关?别慌!2026 年最新 AI 论文写作工具合集来了,覆盖选题、大纲、初稿、润色、降重、格式、文献引用全流程,帮你精准匹配最适合的学术助手,彻底告别论文内耗!🏆…...
大学英语四级试卷历年真题及答案PDF电子版百度网盘
大学英语四级备考必备历年真题合集(2015年6月-2025年12月),高清 PDF 电子版含完整试卷与详细答案解析,以及配套听力音频,题型齐全答案详实,可下载打印刷题,吃透真题考点,高效冲刺顺利…...
10分钟搞定黑苹果:OpCore-Simplify自动化配置工具完全指南
10分钟搞定黑苹果:OpCore-Simplify自动化配置工具完全指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗…...
PrismLauncher-Cracked:如何通过代码修改实现Minecraft完全离线启动?
PrismLauncher-Cracked:如何通过代码修改实现Minecraft完全离线启动? 【免费下载链接】PrismLauncher-Cracked This project is a Fork of Prism Launcher, which aims to unblock the use of Offline Accounts, disabling the restriction of having a …...
六自由度并联无人机自适应起降平台设计——从构型选型到运动学仿真全流程
六自由度并联无人机自适应起降平台设计——从构型选型到运动学仿真全流程 摘要 随着无人机物流配送、海上作业、灾害救援等场景的快速发展,无人机在动态环境下的安全起降成为制约其大规模应用的瓶颈问题。传统的固定起降平台无法适应舰船摇摆、车辆运动等动态条件,而串联机…...
