Skip to content

Commit 2ff4f4f

Browse files
committed
susy210715
2 parents 764ba75 + 2275894 commit 2ff4f4f

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

  • 1-js/12-generators-iterators/1-generators

1-js/12-generators-iterators/1-generators/article.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,28 @@ try {
448448

449449
Si no detectamos el error allí, entonces, como de costumbre, pasa al código de llamada externo (si lo hay) y, si no se detecta, mata el script.
450450

451+
## generator.return
452+
453+
`generator.return(value)` detiene la ejecución de generator y devuelve el valor `value` dado.
454+
455+
```js
456+
function* gen() {
457+
yield 1;
458+
yield 2;
459+
yield 3;
460+
}
461+
462+
const g = gen();
463+
464+
g.next(); // { value: 1, done: false }
465+
g.return('foo'); // { value: "foo", done: true }
466+
g.next(); // { value: undefined, done: true }
467+
```
468+
469+
Si volvemos a usar `generator.return()` en un generator finalizado, devolverá ese valor nuevamente ([MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator/return)).
470+
471+
No lo usamos a menudo, ya que la mayor parte del tiempo queremos todos los valores, pero puede ser útil cuando queremos detener el generador en una condición específica.
472+
451473
## Resumen
452474

453475
- Los generadores son creados por funciones generadoras `function* f(…) {…}`.

0 commit comments

Comments
 (0)