async函数
- 函数的返回值为promise对象
- promise对象的结果由async函数执行的返回值决定
async函数的返回值
和then方法的返回值以及返回类型的判断办法一致
如果返回值是一个非promise类型的数据
- 返回的promise的类型为fulfilled或者resolved
如果返回的是一个promise对象
- 那么这个promise的类型取决于它返回的是接收还是拒绝
抛出异常
- 返回的promise为rejected
await表达式
- await右侧的表达式一般为promise对象,但也可以是其他的值
- 如果表达式是promise对象,await返回的是promise成功的值
- 如果表达式是其他值,直接将其值作为await的返回值
注意的点
- await必须写在async函数中,但async函数中可以没有await
- 如果await的promise失败了,就会抛出异常,需要通过try...catch捕获处理
简单实践
- 使用async函数和await表达式实现一个读取文件的js文件
poem1.html
poem2.html
poem3.html
poem4.html