[JS入门到进阶] 7条关于 async await 的使用口诀,新学 async await?背10遍,以后要考!快收藏

news/2024/5/9 12:30:04/文章来源:https://blog.csdn.net/kd_2015/article/details/126672970

我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权。我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋等游戏,不收费没广告。还开发了《Dice Crush》参加Game Jam 2022。喜欢可以关注我 HullQin 噢~我有空了会分享做游戏的相关技术。

async await 使用口诀

  1. async写函数前面,await写函数里面。
  2. 函数没有async,一定也没await。
  3. 函数不执行await,也可以有async。
  4. 函数没有await,最好删掉async。
  5. async函数直接return await,请把async await都丢掉。
  6. 调用async函数却不await,你就只有破柔蜜丝。
  7. 写了await又写then,指定要被老板炒;await和then不混用,我们还是好基友。

案例

1. async写函数前面,await写函数里面。

用function定义:

async function f() {await fetch('/');
}

用箭头函数定义:

const f = async () => {await fetch('/');
};

这个函数逻辑很简单,就是发送了个请求给这个/的地址,而/这个地址就表示当前的域名,即:https://juejin.cn/。理论上,它会把掘金首页的html文件给下载过来。

2. 函数没有async,一定也没await。

如果一个函数的前面没有写async,那么它里面一定不要写await噢,不然会报错的!不信你看:

1.png

3. 函数不执行await,也可以有async。

如果一个函数里面,await逻辑可能不会被执行,那么函数也是可以有async标识的!你能明白2和3的区别嘛?

它不会报错的,不信你看:

2.png

4. 函数没有await,最好删掉async。

如果一个函数里面没有await调用,那么你完全可以删掉async。此时,对函数的调用:await f1()可以直接改为f1()

3.png

5. async函数直接return await,请把async await都丢掉。

二者最终效果是一样的哦,但是丢掉后就少了一层async await,看起来更方便了呢。

4.png

6. 调用async函数却不await,你就只有破柔蜜丝。

调用async函数却不await,你就只有Promise

5.png

7. 写了await又写then,指定要被老板炒;await和then不混用,我们还是好基友。

被老板炒鱿鱼的写法:

const data = await fetch('https://api.juejin.cn/interact_api/v1/pin_tab_lead?aid=2608&uuid=').then(r => r.json());
console.log(data);

6.png

好的写法:

const res = await fetch('https://api.juejin.cn/interact_api/v1/pin_tab_lead?aid=2608&uuid=');
const data = await res.json();
console.log(data);

7.png

写在最后

我是HullQin,公众号线下聚会游戏的作者(欢迎关注公众号,发送加微信,交个朋友),转发本文前需获得作者HullQin授权。我独立开发了《联机桌游合集》,是个网页,可以很方便的跟朋友联机玩斗地主、五子棋等游戏,不收费没广告。还开发了《Dice Crush》参加Game Jam 2022。喜欢可以关注我 HullQin 噢~我有空了会分享做游戏的相关技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_5146.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝牙音响插着电源线就会一直有电流声怎么回事呢 All In One

蓝牙音响插着电源线就会一直有电流声怎么回事呢 All In One蓝牙音响插着电源线就会一直有电流声怎么回事呢 All In One周围存在电源的电磁干扰 ✅之前使用 USB 集线器的旁边上有一个电源插板,估计是收到了电磁干扰了 ❌直接使用电脑自带的 USB 接口连接即可 🚀refs https://…

软件测试概念总结

软件测试1.软件测试:2.软件测试的特点:3.软件测试和开发的区别:4.软件测试与调试的区别:5.优秀的软件测试人员具备的素质6.核心竞争力7.学习方法8.学习内容9.需求的概念10.用户需求11.软件需求12.生成测试用例的过程13.为什么需求…

GO语言自学_001_环境配置_windowx11_x64版本

GO语言自学_001_环境配置_windowx11_x64版本下载地址: https://golang.google.cn/ 1、看到那个下载按钮了么?点她!2、点击download到这个页面,根据电脑自身系统配置下载包。3、下载完毕后,运行.msi文件,一路next就可以了。本人电脑默认下载到C:\Program Files\Go路径。需要…

创建员工表格,遍历数组获取每个员工,并且渲染到表格中

首先是CSS部分,根据需求添加属性,可以调整 再是盒子部分 接下来是js部分:重点就是JS部分,利用遍历数组获取每个员工,再进行渲染,注意for下面的console.log( ` 这里面有一个标点符号千万别忘记(叫反引号 是 Shrit +ESC下面这个键) ` ) 实际效果图

计算机毕业设计springboot+vue基本微信小程序的外卖点餐订餐平台

项目介绍 餐饮行业是一个传统的行业。根据当前发展现状,网络信息时代的全面普及,餐饮行业也在发生着变化,单就点餐这一方面,利用手机点单正在逐步进入人们的生活。传统的点餐方式,不仅会耗费大量的人力、时间&#xf…

SAP云集成 SAP Integration Suite启用过程,踩坑记

第一步 :创建一个 subscription I现在访问,会提示unauthorized,无权访问 配置了这个,还是无法访问 CPI界面 最后在CPI 官方文档中看到这么一段,tricky,清除浏览器缓存和cookie 然后进来了。。。 第二步&am…

[Latex] \bibitem{} | .bbl 格式参考文献转换与获得

BibTex格式,在dblp或者谷歌学术等都可直接获得,但是\bibitem{}无法直接获得,因此需要通过BibTex格式进行转换。 BibTeX格式参考文献: \bibitem{}格式参考文献: 将BibTeX格式转为\bibitem{}格式 准备好2个文件&…

【Word】如何批量导出ppt中的备注

【Word】如何批量导出ppt中的备注文件 | 导出 | 创建讲义 | 备注在幻灯片旁在word中删除左边两列,复制剩下的表格 | 粘贴-只保留文本

解决 Element的el-input 密码输入框浏览器自动填充账号密码问题

问题描述 通常情况下,浏览器会默认将已保存的账号密码 填充到 input type 值为password的输入框内,如果在登录页面,这当然是非常好的,自动填充密码可以节约时间,提高良好的使用体验,这样当然是没有什么问…

Spring Cloud Gateway 网关整合 Knife4j

文章目录1:环境准备2:gateway服务设置1:导包2:yml配置3:添加配置类,从网关服务中获取服务列表4:重写并覆盖/swagger-resources接口3:其他业务逻辑服务设置1:其他服务导包…

【Unity面试】 Unity基础核心 | 面试真题 | 全面总结 | 建议收藏

你知道的越多,你不知道的越多 🇨🇳🇨🇳🇨🇳 点赞再看,养成习惯,别忘了一键三连哦 👍👍👍 文章持续更新中 📝📝…

springboot项目如何打包成.sh脚本形式运行|assemly插件打包自定义脚本参数

0. 引言 springboot作为目前主流的java开发框架,因为便捷和易上手的特性,深受开发者欢迎。springboot默认以jar包形式,通过java -jar指令运行 但这样的启动方式实际上不是很友好,我们常常看到各类组建通过bin目录下的start.sh脚…

阿里、腾讯、百度大厂的程序员编程指南规范

众所周知,现在软件行业不仅要求功能完成,对代码规范也是要求非常高的。一个编程规范不仅是代码美观、易读,在调试bug、程序安全等方面都是有影响的。比如:代码中的魔法数字,要求提取枚举、SQL语句要求不能采用拼接方式…

我开发了一个下载器 带宽拉满

大家好,我是 jonssonyan,一个痴迷软件技术的人。今天和大家分享一个我之前开发的 PC 端下载器。 准确的说是一款基于 AriaNg 和 Aria2 的 PC 端下载器。目前只支持 Windows 平台,我给它取名叫Aria2-X,并且将代码开源在 GitHub 上…

YOLOv7改进之二十五:引入Swin Transformer

​前 言:作为当前先进的深度学习目标检测算法YOLOv7,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv7的如何改进进行…

终于拿到了爆火全网的进一线大厂程序员必看的1700道java面试题

爆火全网的进一线大厂程序员必看的1700道java面试题到底有多牛? 牛不牛不敢说,但是有好多程序员是靠这一套1700道高频面试题,顺利收到很多大厂offer! 以至于,到现在为止,大厂都开始按照这一套1700道面试题…

北京十大靠谱律师事务所排名(口碑榜单)

律师行业很多人并不太了解,其实简单的案件一般不需要律师有丰富的经验积累,因此委托入行不久的年轻律师,他们能花更多时间去帮你处理,态度好,更重要的是收费低。 复杂的或者涉及金额特别大的案子委托资深律师。当然不是…

【Lua 入门基础篇(十)】文件I/O

文章目录一、文件 I/O二、简单模式1. io.lines([filename])三、完全模式1. file:lines()一、文件 I/O Lua I/O 库用于读取和处理文件。分为简单模式、完全模式。 简单模式(simple model):拥有一个当前输入文件和一个当前输出文件&#xff0c…

倾向得分匹配PSM案例分析

倾向得分匹配(PSM),是一种模仿RCT随机对照试验随机化分组,提高组间均衡性,进而达到降低混杂因素影响目的一种数据处理策略。PSM在计量研究,临床医学等领域有着广泛的应用。 1.案例背景与分析策略 1.1 案例背景介绍 某企业想评价…

IDEA编译项目找不到符号

问题描述 场景: 某个bean添加了一个字段; idea使用Git拉取代码后,新建分支提交,然后修改再切换其他分支,发生了代码冲突; 然后解决代码冲突,开始编译项目,报错找不到符号. 问题分析 1.查看控制台日志输出,找报错代码行。 2.lombok插件注解未生效。 3.编码问题; 4.jdk…