• ES6学习笔记之async函数


    async函数跟promise,generator一样也是处理异步的,但是async的写法更为简洁

    大家可以先来看下async的特点:

    1、语义化强,async就是异步的,await就是等待,很好理解

    结构就是async function a(){

      await xxx

    }

    2、await要放在async组合使用,不能跟其他函数搭配

    3、async函数返回的是一个Promsie对象,所以后面还可以跟then这些搭配使用

    4、如果async里面的promise是reject,那么后面的代码就不会再执行了

    举个栗子:

    async function fn(){

      await Promise.reject("出大事了!!");

      let a = await Promise.resolve("很棒!");

      console.log(a);

    }

    fn.().then(res=>{

      console.log(res);

    }),catch(err=>{

      console.log(err)

    })

    //输出:出大事了

    在这个例子中,async跟await搭配使用,因为在fn里面先执行了promise.reject,所以下面的“很棒”就不会再执行了,假如将这个两个的顺序调换一下,先resolve,再reject,则最后两个结果都能够输出

    async在处理读取文件上尤为出色,用promise跟generator需要写很多次的代码,async只需要用await按顺序写就可以,非常的简洁:

    async function readFile(){ 

      let a1 = await read('1.txt');

      let a2 = await read('2.txt');

      let a3 = await read('3.txt');

      console.log(a1.toString());

      console.log(a2.toString());

      console.log(a2.toString());

    }

  • 相关阅读:
    设计模式的类型
    SQL介绍(1)
    MySQL(介绍1)
    MyBatis总结(1)
    使用SQLServer Profiler侦测死锁(转)
    SQL Server 数据库中关于死锁的分析
    Delphi内嵌汇编语言BASM精要(转帖)
    Delphi项目构成之单元文件PAS
    Delphi中Interface接口的使用方法
    Delphi项目构成之项目文件DPR
  • 原文地址:https://www.cnblogs.com/hongyafang/p/12427545.html
Copyright © 2020-2023  润新知