目的:
- 回调地狱的终极解决方案
- 把异步代码写的看起来像同步代码
async 函数
- async 函数的返回值是 promise 对象
- promise 对象的结果由 async 函数执行的返回值决定
await 表达式
- await 必须写在 async 函数中
- await 右侧的表达式一般为 promise 对象
- await 返回的是 promise 成功的值
- await 的 promise 失败了,就会抛出异常,需要通过 try...catch 捕获处理
捕获失败:
语法:
- async 书写在函数的前面,是对这个函数的修饰关键字
- await 的使用,必须有 async 关键字,await 才能在函数内部使用
- awiat 等待的必须是一个 promise 对象,才会有等待的结果,不然没有意义
当满足上面三个调价以后,promise 对象本该在 then 里面接收的结果,就可以直接定义变量接收,promise 里面的异步代码没有结束之前,不会继续向下执行