Web/10-ES6/08-ES6:async函数详解.md
2020-04-08 15:41:07 +08:00

38 lines
912 B
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## async函数异步函数
### 概述
> async 函数是在 ES2017 引入的。
概念:真正意义上去解决异步回调的问题,同步流程表达异步操作。
本质: Generator 的语法糖。
async比之前的 Promise、Generator要好用一些。
语法:
```javascript
async function foo() {
await 异步操作;
await 异步操作
}
```
我们在普通的函数前面加上 async 关键字,就成了 async 函数。
### async、Promise、Generator的对比async的特点
1、不需要像Generator去调用next方法遇到await等待当前的异步操作完成就往下执行。
2、async返回的总是Promise对象可以用then方法进行下一步操作。
3、async取代Generator函数的星号*await取代Generator的yield。
4、语意上更为明确使用简单经临床验证暂时没有任何副作用。