Encadenamiento en JavaScript
Cada then devuelve una promesa nueva, así el valor fluye por la cadena.
function fetchSteps(lang) {
return Promise.resolve({ lang, steps: lang.length * 10 });
}
fetchSteps("javascript")
.then((tour) => ({ ...tour, label: tour.lang.toUpperCase() }))
.then((tour) => fetchSteps(tour.label.toLowerCase()))
.then((tour) => console.log("steps:", tour.steps))
.catch((error) => console.log("failed:", error.message))
.finally(() => console.log("done"));
Cómo funciona
- Devolver un valor lo pasa; devolver una promesa la espera.
- Un solo
catchal final cubre todos los pasos anteriores. finallycorre en ambos casos y deja pasar el resultado.
Palabras clave y builtins usados aquí
Promisecatchfinallyfunctionreturn
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 376
- Tokens
- 121
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 76 segundos.
Paso 3 de 5 en Promesas; paso 3 de 19 en Promesas y async.