To see how to call another generator inside a generator:

function* numbers () {
yield ;
yield ;
yield* moreNumbers();
yield ;
yield ;
yield ;
} function* moreNumbers () {
yield ;
yield ;
yield ;
} const generator = numbers();
const values = []; for (let val of generator) {
values.push(val);
} console.log(values); // [1,2,3,4,5,6,7,8]

Example:

class Tree {
constructor (value, children= []) {
this.value = value;
this.children = children;
} *printValues () {
yield this.value;
for (let child of this.children) {
yield* child.printValues();
}
}
} const tree = new Tree(, [
new Tree(, [new Tree()]),
new Tree()
]); const values = [];
for (let value of tree.printValues()) {
values.push(value)
} console.log(values) // [1,2,4,3]

最新文章

  1. 分配问题与Hungarian算法
  2. linux的一些与关机和重启相关的命令
  3. jfinal框架页面找不到相关css,js文件404
  4. loose coupling之函数签名
  5. 踏着前人的脚印学Hadoop——序列化,Writerable
  6. python中struct模块及packet和unpacket
  7. 【C++专题】static_cast, dynamic_cast, const_cast探讨
  8. [置顶] a+=1/a=+1/a-=1区别-c语言
  9. Prime邻接表+优先队列
  10. web前端的学习误区
  11. Entity Framework 处理并发
  12. 利用jackson转成json字符串(ssh中)
  13. python之numpy库[2]
  14. rtems的GNU(GCC)编译环境配置
  15. H5中的web worker示例demo分析
  16. 单元测试报错NoSuchBeanDefinitionException
  17. mongodb 遇到的问题一 Error: connect ECONNREFUSED 127.0.0.1:27017
  18. socket学习笔记(一)
  19. 把玩Alpine linux(一):安装
  20. JSONArray

热门文章

  1. ${__setProperty 等常见jmeter参数相关博客汇总
  2. 值得收藏的Python第三方库
  3. 病毒 | wordpress网站内容被篡改、自动跳转、变全英文的解决办法
  4. python中append、extend、和insert的区别
  5. 插入排序——C语言
  6. Skip List(跳跃表)原理详解与实现
  7. 移动构造函数应用最多的地方就是STL中(原文详解移动构造函数)
  8. 【原创】大叔经验分享(90)linux服务器iowait和负载很高
  9. Mysql连接数设置
  10. ES6箭头函数及this指向