ES6之async的常用简单总结

2020-05-19  本文已影响0人  yun_blog

1.Async函数是什么

generator函数的语法糖。
Async函数返回一个Promise对象,当函数执行的时候,遇到await就会先返回,等到异步处理完成之后,再接着处理函数体内await后面的语句。

2.Async函数怎么用

eg.1

async searchFun() {
      const { code, data } = await service('categorySearch', { name: this.keyWord });
      if (code === 200) {
        this.searchResult = data;
      }
    }

上面这个async函数大概效果就是,请求’categorySearch‘接口,获取返回结果,并把获取到的data值赋值给’searchResult‘。
分析为什么要这么写
service应该改是个异步接口请求的方法,请求需要一定时间;我们必须等接口请求成功有返回值时,才能给searchResult赋值;否则searchResult赋值结果可能是空。

eg.2

async function f() {
  return 'hello world';
}

f().then((v) => {  
   console.log(v);  // hello world
});

这个async函数例子和上面的例子最大的区别就是加了then()方法处理。
为什么可以使用then?
async函数返回的是一个Promise对象,所以可以使用then方法处理。而且,async函数内部return语句的返回值,会成为then方法回电函数的参数
同样,async函数也可以使用catch方法处理错误。

3.Async函数的语法

有上面的两个简单的例子可以看出来主要有下面两个。

4.来源

以上总结主要来自于阮一峰的ES6入门教程之async一章

上一篇 下一篇

猜你喜欢

热点阅读