Generators: El método Return

Generators: El método Return

¿Cuál es el efecto de utilizar el método return dentro de un generador?

Los objetos Generator tienen un método return que termina la ejecución de la función Generator. El método return() toma una variable opcional que es utilizada como valor de retorno de la función Generator. Al llamar return(x) retornará un objeto con un propiedad value igual a x y una propiedad done con valor true. Después de que return() que es llamado, los llamados subsecuentes a la sentencia yield son ignorados.

function* funGenerator() {
    yield "a";
    yield "b";
    yield "c";
    return "completado";
}

var og = funGenerator();
var a = og.next(); // { value: 'a', done: false }
var b = og.return("return() ha sido invocado"); // { value: 'return() fue llamado', done: true }
var c = og.next(); // { value: undefined, done: true }