If you have an generator like,
function* f () {
// Before stuff.
let a = yield 1;
let b = yield 2;
return [a,b];
}
And, then run
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 }
The first call to .next()
to set a
to 123
and the second call to set b
to 456
, however at the last call to .next()
this is return,
{ value: [ 456, undefined ], done: true }
Does the argument in the first call to g.next
get lost? What happens to them? Using the above example, how do I set a
?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…