ES6学习(九)—Generator 函数的语法

简介: ES6学习(九)—Generator 函数的语法

ES6学习(九)—Generator 函数的语法

  • Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。
  • Generator函数是一个状态机,内部封装了不同状态的数据用来生成遍历器对象,可暂停函数(惰性请求),yield可暂停,next方法可以启动,每次返回的是yield后的表达式结果

Generator函数的特点:

  • function函数与函数名之间有一个星号
  • 内部用yield表达式来定义不同的状态

  • generator函数返回的是指针对象 而不会执行函数内部逻辑
  • 调用next方法函数逻辑开始执行,而到yield表达式停止返回 {value:yield后的表达式结果为undefined,done:false/true} 再次调用next方法从上一次停止时的yield处开始,直到最
  • yield语句的返回结果通常是undefined ,当调用next方法时传参内容会作为启动时yield语句的返回值


相关文章
|
11月前
|
存储 JavaScript 前端开发
Generator 函数的使用场景有哪些?
【10月更文挑战第30天】Generator函数在JavaScript中提供了一种强大而灵活的编程模式,能够在异步编程、数据处理、状态管理等多个领域发挥重要作用,帮助开发者更高效地解决各种复杂的编程问题,提高代码的可读性和可维护性。
|
7月前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。
161 5
|
JSON 小程序 前端开发
vant weapp 在小程序中的使用
vant weapp 在小程序中的使用
475 1
|
存储 监控 安全
Star Tower:区块链创新的关键拼图与卓越优势
在当今科技浪潮中,Star Tower 作为区块链领域的新星,凭借智能计算节点、区块链网络、智能合约、客户端应用、网络通信协议和数据存储系统的卓越设计,实现了高效资源利用、数据安全、自动化执行、便捷交互、加密通信和高可用存储,展现出显著的技术优势,有望引领区块链技术迈向新高度。
284 12
|
Python
Python 中如何循环某一特定列的所有行数据
Python 中如何循环某一特定列的所有行数据
167 2
|
存储 安全 API
对象存储OSS产品常见问题之在URL中包含签名如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
667 0
|
API Java
解决HTTP 400 Bad Request错误的方法
解决HTTP 400 Bad Request错误的方法
6184 0
|
消息中间件 中间件 测试技术
软件体系结构 - 遗留系统演化策略
【4月更文挑战第11天】软件体系结构 - 遗留系统演化策略
486 4
|
存储 算法
数据结构和算法——散列表的性能分析(开放地址法的查找性能、期望探测次数与装填因子的关系、分离链接法的查找性能)
数据结构和算法——散列表的性能分析(开放地址法的查找性能、期望探测次数与装填因子的关系、分离链接法的查找性能)
355 0
|
Oracle Java 关系型数据库
Java----CentOS7系统安装jdk1.8
Java----CentOS7系统安装jdk1.8
2361 0