En ES6, ¿qué sucede con los argumentos en la primera llamada al método `next` de un iterador?

Si tienes un generador como,

function* f () {
  // Before stuff.
  let a = yield 1;
  let b = yield 2;
  return [a,b];
}

Y luego correr

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 }

La primera llamada a.next() para establecera a123 y la segunda llamada para establecerb a456Sin embargo, en la última llamada a.next() esto es retorno

{ value: [ 456, undefined ], done: true }

¿El argumento en la primera llamada ag.next ¿Piérdase? ¿Qué pasa con ellos? Usando el ejemplo anterior, ¿cómo puedo configurara?

Respuestas a la pregunta(3)

Su respuesta a la pregunta