async和await怎么使用
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,本篇内容介绍了"async和await怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Eric
千家信息网最后更新 2025年11月14日async和await怎么使用
本篇内容介绍了"async和await怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Eric:如何讲清楚Promise?
async和await要搭配Promise使用, 它进一步极大的改进了Promise的写法
来看一个简单的场景:
//假设有4个异步方法要按顺序调用
new Promise(function(resolve){
ajaxA("xxxx", ()=> { resolve(); })
}).then(function(){
return new Promise(function(resolve){
ajaxB("xxxx", ()=> { resolve(); })
})
}).then(function(){
return new Promise(function(resolve){
ajaxC("xxxx", ()=> { resolve(); })
})
}).then(function(){
ajaxD("xxxx");
}); 语法上不够简洁, 我们可以稍微改造一下
//将请求改造成一个通用函数
function request(options) {
//.....
return new Promise(....); //使用Promise执行请求,并返回Promise对象
}
//于是我们就可以来发送请求了
request("http://xxxxxx")
.then((data)=>{
//处理data
})然后我们再来重新改造开头的代码
request("ajaxA")
.then((data)=>{
//处理data
return request("ajaxB")
})
.then((data)=>{
//处理data
return request("ajaxC")
})
.then((data)=>{
//处理data
return request("ajaxD")
})比起之前有了不小的进步, 但是看上去依然不够简洁
如果我能像使用同步代码那样, 使用Promise就好了
于是, async \ await出现了
async function load(){
await request("ajaxA");
await request("ajaxB");
await request("ajaxC");
await request("ajaxD");
}await关键字使用的要求非常简单, 后面调用的函数要返回一个Promise对象
load()这个函数已经不再是普通函数, 它出现了await这样"阻塞式"的操作
因此async关键字在这是不能省略的
那么现在看, 这段代码变得异常清秀
代码的编写顺序
代码的阅读顺序
代码的执行顺序
全部都是按照同步的习惯来的
是不是很方便.
到这你已经学会了async和await基本使用方式
下面来简单解释一下它的工作流程
//wait这个单词是等待的意思
async function load(){
await request("ajaxA"); //那么这里就是在等待ajaxA请求的完成
await request("ajaxB");
await request("ajaxC");
await request("ajaxD");
}如果后一个请求需要前一个请求的结果怎么办呢?
传统的写法是这样的
request("ajaxA")
.then((data1)=>{
return request("ajaxB", data1);
})
.then((data2)=>{
return request("ajaxC", data2)
})
.then((data3)=>{
return request("ajaxD", data3)
})而使用async/await是这样的
async function load(){
let data1 = await request("ajaxA");
let data2 = await request("ajaxB", data1);
let data3 = await request("ajaxC", data2);
let data4 = await request("ajaxD", data3);
//await不仅等待Promise完成, 而且还拿到了resolve方法的参数
}注意当一个函数被async修饰以后, 它的返回值会被自动处理成Promise对象
关于异常处理
async function load(){
//请求失败后的处理, 可以使用try-catch来进行
try{
let data1 = await request("ajaxA");
let data2 = await request("ajaxB", data1);
let data3 = await request("ajaxC", data2);
} catch(e){
//......
}
}
""async和await怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
处理
代码
函数
顺序
对象
改造
简洁
不够
关键
关键字
内容
写法
方法
更多
知识
同步
实用
普通
清秀
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
烈焰私服数据库各个表详解
我的世界怎么炸服务器
怎么租服务器玩海外游戏
app要用数据库技术吗
mysql数据库漏洞有哪些
灰锅数控软件开发者
小型游戏服务器配置
数据库程序软件有哪些
军营最新网络安全知识宣传片
郑州前锦网络技术有限公司
网络安全 广告
模拟钢琴软件开发
网络安全网络安全
薛继东 网络安全
软件开发访谈
2019年铁路网络安全活动总结
sql数据库软件价格
描述使用数据库的场景
疫情详细的数据库
数据库安全综述
远程服务器工作时电脑可以关机吗
中人世纪网络技术有限公司
公安大学信息网络安全学院 物理
网络安全的罪与罚视频
上位机软件开发工资低
东华软件开发技术团队构成
启动数据库pfile
福建企业软件开发商家
个人简介软件开发人员
532网络安全宣传周