
Understanding JavaScript Promises
Nicholas C. Zakas
- Editorial
- Nicholas Zakas
- Año
- 2022
- Páginas
- ~77
- Nivel
- Intermedio
De qué trata
Libro breve y autopublicado de Nicholas C. Zakas, autor de Professional JavaScript for Web Developers y creador de ESLint. Explica a fondo cómo funcionan las promesas, que forman parte del lenguaje desde ES2015, e incluye añadidos posteriores como Promise.allSettled(), Promise.any() y AbortController. Sirve igual si programas para el navegador, Node.js o Deno. Es para desarrolladores de nivel intermedio que ya escriben JavaScript y usan promesas sin entender del todo su comportamiento.
El recorrido sigue un orden lógico. Primero, el ciclo de vida de una promesa (pendiente, cumplida, rechazada) y cómo crear promesas pendientes o ya resueltas. Después, el encadenamiento con then(), catch() y finally(), qué pasa al devolver valores o promesas dentro de una cadena y cómo se propagan los errores. Luego, cómo combinar varias promesas con Promise.all(), allSettled(), any() y race(), indicando cuándo conviene cada una. Siguen las funciones async y las expresiones await, y en qué se diferencian de las funciones normales. Después, cómo crear funciones cancelables con AbortController y AbortSignal, también con señales propias. Por último, cómo detectar rechazos no manejados en el navegador y en Node.js.
No tiene ejercicios ni proyectos: cada concepto se explica con ejemplos de código breves y realistas que se pueden descargar. Su punto fuerte es la precisión y la claridad. En poco más de un centenar de páginas deja el tema cerrado, algo útil para entender por qué una cadena se comporta de cierta manera o para depurar errores asíncronos. Se centra solo en las promesas: no trata el event loop en profundidad, ni Observables, ni patrones de concurrencia más avanzados.
- Promesas
- Ciclo de vida de una promesa
- then/catch/finally
- Encadenamiento
- Promise.all y allSettled
- Promise.any y race
- async/await
- AbortController
- AbortSignal
- Rechazos no manejados
- Node.js
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

