async / await

async / await
+ ES7 的语法
=> ES6 提出的方案, 但是 ES6 实现的不是很好
=> 再 ES7 的时候优化过
+ 目的:
1. 回调地狱的终极解决办法
2. 把异步代码写的看起来像同步代码

语法:
1. async 书写再函数的前面, 是对这个函数的修饰关键字
2. await 的使用, 必须有 async 关键字, await 才可以再函数内部使用
3. await 等待的必须是一个 promise 对象, 才会有等待的结果, 不然没有意义
+ 当你满足了以上三个条件以后, 你的 promise 对象本该再 then 里面接收的结果
=> 就可以直接定义变量接收
=> 你的 promise 里面的异步代码没有结束之前
=> 不会继续向下执行

const div = document.querySelector('div')
    div.addEventListener('click', async () => {
      const res1 = await pAjax({ url: './server/a.php', dataType: 'json' })
      console.log('需求1: ', res1)

      const res2 = await pAjax({ url: './server/b.php', dataType: 'json', data: res1 })
      console.log('需求2: ', res2)

      const res3 = await pAjax({ url: './server/c.php', dataType: 'json', data: res2 })
      console.log('需求3: ', res3)
    })

 

上一篇:1343. 挤牛奶


下一篇:四、数据类型_6.(2).set - frozenset 冰冻集合