当前位置:网站首页>ES6高级-async的用法
ES6高级-async的用法
2022-08-04 21:30:00 【吃鱼丸的申申】
作用:使我们的异步操作更加方便,它会返回一个Promise对象,async是Generator的语法糖。
如果async函数中有多个await,那么then函数会等待所有的await指令运行完才去执行,看下面的代码:
<body>
<script>
async function f() {
// 假设这是一次异步行为
let s = await 'hello';
// 假设这也是一次异步行为
let data = await s.split('');
return data;
}
f().then(v => console.log(v)).catch(e => console.log(e))
</script>
</body> 输出结果:![]()
再来看下面这段代码:
<body>
<script>
async function f() {
await Promise.reject('出错了');
await Promise.resolve('hello');
}
f().then(v => console.log(v)).catch(e => console.log(e))
</script>
</body>输出结果:
await有一个特点就是如果哪里返回的是失败就会不再往下执行,更改方法:
<body>
<script>
async function f() {
try {
await Promise.reject('出错了');
} catch (error) {
}
return await Promise.resolve('hello');
}
f().then(v => console.log(v)).catch(e => console.log(e))
</script>
</body>再来看一个例子:
<body>
<script>
function testAwait() {
return new Promise((resolve) => {
setTimeout(function() {
console.log("testAwait");
resolve('sy!!!');
}, 1000);
});
}
async function helloAsync() {
return await testAwait();
console.log("helloAsync");
}
helloAsync().then(val => console.log(val));
</script>
</body>输出结果:
边栏推荐
猜你喜欢

Re24:读论文 IOT-Match Explainable Legal Case Matching via Inverse Optimal Transport-based Rationale Ext

立即升级!WPS Office 出现 0day 高危安全漏洞:可完全接管系统,官方推出紧急更新

PowerCLi batch configuration of NTP

PowerCLi 批量配置NTP

如何一键重装win7系统?重装win7系统详细教程

DSPE-PEG-Aldehyde,DSPE-PEG-CHO,磷脂-聚乙二醇-醛基一种疏水18碳磷脂

【PCBA方案设计】握力计方案

JWT actively checks whether the Token has expired

Configure laravel queue method using fort app manager

未知点云结构文件转换需求
随机推荐
【Programming Ideas】
经验分享|盘点企业进行知识管理时的困惑类型
milvus配置相关
mdk5.14无法烧录
模拟对抗之红队免杀开发实践
Chapter7 : Network-Driven Drug Discovery
【PCBA方案设计】握力计方案
SPSS-unary regression practice
拼多多开放平台订单信息查询接口【pdd.order.basic.list.get订单基础信息列表查询接口(根据成交时间)】代码对接教程
dotnet 通过 WMI 获取系统安装软件
命名路由、组件中name的作用
数电快速入门(三)(卡诺图化简法的介绍)
Spss-系统聚类手算实操
Axure9基本交互操作(一)
链栈的应用
热力学相关的两个定律
零基础都能拿捏的七夕浪漫代码,快去表白或去制造惊喜吧
NFT宝典:你需要知道NFT的术语和定义
3. Byte stream and character stream of IO stream
动手学深度学习_NiN