生成器的功能, 在函数块内暂停和恢复代码执行的能力。
例如: 使用生成器可以自定义迭代器和实现协程
- 生成器的定义
- 箭头函数不能定义生成器函数
- 生成器函数的返回值 生成器对象
- yield 会中断 生成器函数
- yield 只能在 生成器函数中使用
- 生成器函数实例 使用 next() 方法调用,返回
{done: true, value: conoutn }
- 在生成器函数中 使用 yield done 为 false 使用 return done 为 true
- 创建多个生成器实例, 它们之间不会相互影响
- yield * 一个可以迭代的对象
- 提前终止生成器对象
- 实例对象.retunr() , 使用结果:生成器无法恢复状态
- try/cathc - throw 使用结果 抛出错误, 保留生成器状态
- 总结:生成器可以被yield终端,再使用 next() 进行下一步的执行,一般用来 yield 用来可迭代对象序列化为一连串值