Generadores en JavaScript
Funciones que producen un flujo de valores de forma perezosa.
function* idMaker(start = 1) {
let id = start;
while (true) {
yield id++;
}
}
function* take(iterable, n) {
let i = 0;
for (const value of iterable) {
if (i++ >= n) return;
yield value;
}
}
const ids = [...take(idMaker(100), 3)];
Cómo funciona
function*yyieldproducen valores bajo demanda.- Un generador infinito es seguro si se consume de forma perezosa.
- El spread sobre un generador recolecta lo que produce.
Palabras clave y builtins usados aquí
constforfunctionifletofreturnwhileyield
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 231
- Tokens
- 77
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 44 segundos.
Paso 1 de 2 en Generadores; paso 10 de 16 en Funciones y patrones.