次のようなジェネレーターがある場合は、
function* f () {
// Before stuff.
let a = yield 1;
let b = yield 2;
return [a,b];
}
そして、実行します
var g = f();
// this question is over this value.
g.next(123); // returns: { value: 1, done: false }
g.next(456); // returns: { value: 2, done: false }
g.next(); // returns: { value: [ 456, undefined ], done: true }
set への最初の呼び出しと.next()
seta
へ123
の 2 番目の呼び出しですb
が456
、これへの最後の呼び出しで.next()
は return です。
{ value: [ 456, undefined ], done: true }
最初の呼び出しの引数はg.next
失われますか? 彼らはどうなりますか?上記の例を使用して、どのように設定しa
ますか?