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

ES6之async的常用简单总结

作者: yunshengz | 来源:发表于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