El método return() regresa el valor dado y finaliza al generador.

Sintaxis

gen.return(valor)

Parámetros

valor
El valor a regresar.

Valor de retorno

El valor dado como argumento.

Ejemplos

Utilizando return()

El siguiente ejemplo muestra un generador simple y su método return.

function* gen() { 
  yield 1;
  yield 2;
  yield 3;
}

var g = gen();

g.next();        // { value: 1, done: false }
g.return('foo'); // { value: "foo", done: true }
g.next();        // { value: undefined, done: true }

Si return(valor) es invocado en un generador que ya está en su estado "completado", el generador permanecerá en estado "completado". Si no se da ningún argumento, el objeto regresado es el mismo a que si se invocara .next(). Si se da un argumento, éste se asignará como valor en la propiedad value del objeto regresado.

function* gen() {
  yield 1;
  yield 2;
  yield 3;
}

var g = gen();
g.next(); // { value: 1, done: false }
g.next(); // { value: 2, done: false }
g.next(); // { value: 3, done: false }
g.next(); // { value: undefined, done: true }
g.return(); // { value: undefined, done: true }
g.return(1); // { value: 1, done: true }

Especificaciones

Especificación Estado Comentario
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Generator.prototype.return' en esta especificación.
Standard Definición inicial.
ECMAScript Latest Draft (ECMA-262)
La definición de 'Generator.prototype.return' en esta especificación.
Draft  

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Soporte básicoChrome Soporte completo 50Edge Soporte completo 13Firefox Soporte completo 38IE Sin soporte NoOpera Soporte completo 37Safari Soporte completo 10WebView Android ? Chrome Android Soporte completo 50Edge Mobile Soporte completo 13Firefox Android Soporte completo 38Opera Android Soporte completo SiSafari iOS Soporte completo 10Samsung Internet Android Soporte completo 5.0nodejs Soporte completo 6.0.0

Leyenda

Soporte completo  
Soporte completo
Sin soporte  
Sin soporte
Compatibility unknown  
Compatibility unknown

Ver también

Etiquetas y colaboradores del documento

Colaboradores en esta página: DJphilomath
Última actualización por: DJphilomath,