
async和await
发布日期:2021-05-09 14:41:07
浏览次数:20
分类:精选文章
本文共 1183 字,大约阅读时间需要 3 分钟。
ES8新特性
async和await
async和await两种语法结合可以让异步代码像同步代码一样执行,极大地简化了处理非线性操作(如网络请求)的代码复杂度。
1. async函数
async函数是一个特殊的函数,它返回一个Promise对象。该Promise对象的结果由async函数执行的返回值决定。如果函数没有返回任何值,返回的Promise将是未定型的(pending)。如果函数抛出一个错误,返回的Promise将是失败的(rejected),否则返回的Promise将与函数返回的值相关联(如果返回的是一个Promise,结果将由该Promise决定;如果返回的是一个非Promise值,结果将直接为该值)。
2. await表达式
await是一个操作符,它只能出现在async函数内部。它用于等待一个Promise对象完成执行。如果等待的对象是一个Promise,await将返回该Promise成功的值;如果等待的对象不是一个Promise,await将直接返回该值。需要注意的是,await不能在普通函数中使用,必须在async函数中。同时,使用await时需要考虑错误处理,通常使用try...catch语句捕获可能发生的错误。如果等待的Promise失败了,await会抛出一个错误,这个错误可以被try...catch捕获处理。
async function test() { try { const result = await fn2(); console.log('结果', result); } catch (error) { console.error('错误', error); } } test();
以下示例展示了如何使用async和await结合读取文件或发送网络请求:
async function main() { try { const response = await fetch('http://example.com'); const data = await response.json(); console.log('获取到的数据', data); } catch (error) { console.error('请求失败', error); } } main();
3. async和await的实际应用
async和await的结合使得代码更加简洁易读。例如,在处理网络请求时,可以避免复杂的回调链,而是通过await直接处理Promise结果。这种方式不仅提高了代码的可读性,也减少了错误处理的复杂性。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年04月11日 09时22分32秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java 中的多态详解
2019-03-07
交换二叉树中每个结点的左孩子和右孩子~2020.8.13~学习笔记
2019-03-07
Java常用包系列--JWT
2019-03-07
Linux命令--文件命令
2019-03-07
并发相关问题
2019-03-07
Linux应用编程示例
2019-03-07
flutter 基于Timer实现的倒计时以及周期性任务
2019-03-07
Java时间类Date全解析
2019-03-07
安卓项目实战之:字体设置相关以及库Calligraphy的使用
2019-03-07
XEditText文本输入框的使用
2019-03-07
使用 MultiDex 解决 64K 限制
2019-03-07
Glide4实现网络图片加载进度监听
2019-03-07
MFC编辑框中追加文本
2019-03-07
InstallShield vs2015 的安装与激活
2019-03-07
一季度销售暴增210%,负债持续改善的金辉控股,有多少水分?
2019-03-07
软考考点之软件质量管理及MCCALL
2019-03-07
linux系统下双屏显示
2019-03-07
基于linux的VScode开发
2019-03-07
关于高斯模糊核
2019-03-07
实验笔记之——octave layer(4路数据)
2019-03-07