1
let gen = testGenerator(),
foo = true;
console.log(gen.next().value); //logs 1
console.log(gen.next().value); // throws 'Uncaught Error: Generator is already running'
function *testGenerator(){
yield 1;
if(foo) gen.next(); //I want to immediately advance the generator after the 'yield 2' and run again to 'yield 3'
yield 2;
console.log('bar')
yield 3;
}
ジェネレータが実行されている間に発生するロジックに基づいてJSジェネレータを次のステージに進めることができます(この例では 'foo' 'yield 1'と 'yield 2'の間で真です)。ジェネレータのジェネレータ内部でnext()を呼び出す
私はこのコードが動作しない理由を理解しています(ジェネレータの実行が完了する前に 'gen.next()'を呼び出すことはできません)。しかし、すぐに '次の'ステップを呼び出すにはどうしたらいいですか?ジェネレータ内部のジェネレータ。
。 } '? –