当前位置:网站首页>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>
输出结果:
边栏推荐
- LeetCode: 406. 根据身高重建队列
- Moke, dynamic image resource package display
- 【2022杭电多校5 1003 Slipper】多个超级源点+最短路
- js的new Function()常用方法
- 拼多多开放平台订单信息查询接口【pdd.order.basic.list.get订单基础信息列表查询接口(根据成交时间)】代码对接教程
- Configure laravel queue method using fort app manager
- PowerCLi batch configuration of NTP
- LayaBox---TypeScript---Example
- LayaBox---TypeScript---首次接触遇到的问题
- Data warehouse (1) What is data warehouse and what are the characteristics of data warehouse
猜你喜欢
随机推荐
NFT宝典:你需要知道NFT的术语和定义
LayaBox---TypeScript---Example
3. Byte stream and character stream of IO stream
dotnet 使用 lz4net 压缩 Stream 或文件
传奇服务器需要什么配置?传奇服务器租用价格表
88. (the home of cesium) cesium polymerization figure
DSPE-PEG-Aldehyde,DSPE-PEG-CHO,磷脂-聚乙二醇-醛基一种疏水18碳磷脂
【2022牛客多校5 A题 Don‘t Starve】DP
【手把手教你使用STM32HAL库的串口空闲中断】
SPSS-System Clustering Hand Calculation Practice
[2022 Nioke Duo School 5 A Question Don't Starve] DP
1、File对象学习
win10 uwp 使用 WinDbg 调试
JWT actively checks whether the Token has expired
【PCBA program design】Grip dynamometer program
openresty lua-resty-template页面静态化
dotnet 通过 WMI 获取系统安装软件
如何一键重装Win11系统 一键重装系统方法
Common methods of js's new Function()
bracket matching