generator 实现状态机不是很理解?

阮一峰-generator相关
image.png

var clock = function* () {
  while (true) {
    console.log('Tick!');
    yield;
    console.log('Tock!');
    yield;
  }
};

const c = clock();
c.next(); // Tick
c.next(); // Tock
c.next(); // Tick

不是很理解没一次的next() 执行,
第一次执行 Tick
第二次执行 第二个yield 输出Tock
第三次去执行的话 这个是怎么又回到Tick呢

然后为什么这个函数为啥要写while(true) 去掉这个好像就不行了

阅读 1.5k
1 个回答

不死循环怎么重复输出呢?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题