1. async 函数返回一个 Promise 对象,可以使用 then 方法添加回调函数。
  2. async 函数中可能会有 await 表达式,async 函数执行时,如果遇到 await 就会先暂停执行 ,等到触发的异步操作完成后,恢复 async 函数的执行并返回解析值。
  3. await 关键字仅在 async function 中有效。如果在 async function 函数体外使用 await ,你只会得到一个语法错误

await

await 操作符用于等待一个 Promise 对象, 它只能在异步函数 async function 内部使用。

  1. var a=new Promise((resolve,reject)=>{
  2. setTimeout(()=>{
  3. resolve(1);
  4. },2000)
  5. })
  6. var b=new Promise((resolve,reject)=>{
  7. setTimeout(()=>{
  8. resolve(2);
  9. },1000)
  10. })
  11. //使用then方法添加回调函数
  12. // a.then(res=>{
  13. // console.log(res)
  14. // })
  15. // b.then(res=>{
  16. // console.log(res)
  17. // })
  18. //异步转同步
  19. async function go(){
  20. var res=await a;
  21. console.log(res);
  22. var sum=await b;
  23. console.log(sum);
  24. }
  25. go();