概念:
ES7 新增的 专门 配合 promise封装函数一起执行的程序
async: - 关键字 - 异步的
await: - 关键字 - 等待
作用:
让 异步程序 按照顺序 一个一个的执行
也是解决回调地狱的终极方法 (解决代码参考在最后)
注意:
- async是写在函数定义前面的,function关键字前面 - 修饰函数
- await是必须写在async修饰的函数里面,promise对象前面 - 等待promise(异步)的执行
- 执行完promise之后,调用resolve,调用resolve的时候通常会传入数据,await就可以将数据接收到
说明:
promise语法 本质上 异步程序仍然是按照 前端来执行的
只是 promise语法 让 嵌套执行的函数程序通过 回调函数的语法形式 看上去 像 一个一个 按照顺序执行
async 和 await 是 通过 JavaScript定义的程序的执行机制让 多个 异步程序 按照顺序 一个一个执行
语法:
使用 async 作为 关键词 声明定义一个函数程序
使用 await 调用执行 promise封装的函数程序
promise封装的函数程序 执行结果返回值 是 异步请求 获取的响应体数据
解决回调地狱的参考
async function 函数(){
// 变量1 存储 响应体结果
const 变量1 = await promise函数() ;
// 变量2 存储 响应体结果
const 变量2 = await promise函数() ;
// 变量3 存储 响应体结果
const 变量3 = await promise函数() ;
}