美文网首页
ES6之async的常用简单总结

ES6之async的常用简单总结

作者: yun_blog | 来源:发表于2020-05-19 10:33 被阅读0次

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函数的语法

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

  • async
    async函数就是在普通函数前面加async关键字,表面该函数内部有异步操作。
  • await
    await命令只能出现在async函数内部,当然也可以没有。
    await命令后面可以是Promise对象和原始数据类型(number,string,Boolean);但是原始数据类型会自动转成resolved的Promise对象。

4.来源

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

相关文章

网友评论

      本文标题:ES6之async的常用简单总结

      本文链接:https://www.haomeiwen.com/subject/chrvohtx.html