JavaScript 生成器流程理解

问题描述 投票:0回答:0

我尝试了生成器的一小段代码

function* listener() {
  console.log('listening');
  while (true) {
    console.log('before yield'); /** Why this is getting print in end again**/
    let msg = yield;
    console.log('after yield', msg);
  }
}

let l = listener();
l.next('are you there?');
console.log('-----');
l.next('how are you?');

输出:

listening
before yield
-----
after yield how are you?
before yield

一切看起来都不错,但唯一我不确定控制如何最终再次返回到“在屈服之前”打印。

有人可以帮助我理解这个概念吗?

谢谢

javascript generator
© www.soinside.com 2019 - 2024. All rights reserved.