• Generator(生成器)和async await


    1、generator

    generator是ES6实现的标准。
    generator 函数返回一个遍历器对象
    遍历器对象 每次调用next 方法 返回 有着value 和done 两个属性的对象
    generator 函数 yield 后面的表达式即为 返回对象 value属性的值


     
    image.png

    generator 函数返回一个遍历器
    遍历器对象每执行一次next() 都只执行了generator 函数内部部分代码,遇到yield本次执行就结束了。

    2、async/await

    async/await是ES7实现的标准。

    • async函数是Generator函数的语法糖,将Generator的星号换成async将yield换成await,async函数比Generator函数更好用.。async 表示函数里有异步操作,await 表示紧跟在后面的表达式需要等待结果。
    • await 只能出现在 async 函数中
    • async 函数返回的是一个 Promise 对象
    • 如果它等到的不是一个 Promise 对象,那 await 表达式的运算结果就是它等到的东西。
      如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。
    • 一般await都会用try/catch包起来


    作者:裸泳的小熊
    链接:https://www.jianshu.com/p/62a5c8854715
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    Jetty容器集群配置Session存储到MySQL、MongoDB
    js清除浏览器缓存的几种方法
    Maven学习 (四) 使用Nexus搭建Maven私服
    ActiveMQ入门实例(转)
    SOAP Webservice和RESTful Webservice
    Redis集群搭建与简单使用
    如何设置SVN提交时强制添加注释
    linux下vi命令大全
    锦隆驾校考试场---大路
    锦隆驾校考试场---小路
  • 原文地址:https://www.cnblogs.com/zhishaofei/p/13529678.html
Copyright © 2020-2023  润新知