¿Cómo enviar valores a generadores utilizando next?
Ademas de insertar a traves de un Generator, next()
puede también ser utilizado para enviar valores al Generator mediante el uso de argumentos. El valor que es enviado al método next()
eventualmente se vuelve el valor de retorno de la mayoría de las sentencias yield
. Debido a que la llamada next()
inicia la función Generator, cualquier valor que se envíe dentro de este será ignorado.
Vea como el método next()
es utilizado para enviar valores a la función Generator.
function* funGenerator() {
var a = yield;
console.log(a);
var b = yield;
console.log(b);
var c = yield;
console.log(c);
}
var go = funGenerator();
El método next()
también puede ser utilizado para modificar los valores enviados a la sentencia yield
y enviados de regreso.
Vea como el método next()
es utilizado para obtener valores de yield
, modificarlos, y enviarlos de regreso.
function* funGenerator() {
var a = yield "a"; // retorna 'a' como valor y captura el argumento
console.log("a:", a); // a tomará el valor del primer argumento enviado
var b = yield "b";
console.log("b:", b);
var c = yield "c";
console.log("c:", c);
}
var og = funGenerator();
var v1 = og.next(); // la primera llamada invocada inicia el proceso "sin argumentos"
console.log("v1:", v1);
var v2 = og.next("Andrew");
console.log("v2:", v2);
var v3 = og.next("Pete");
console.log("v3:", v3);
var v4 = og.next("Jordan");
console.log("v4:", v4);