Las Promises son fundamentales en JavaScript moderno. Más allá de cadenas básicas .then(), existen patrones avanzados para control de concurrencia, manejo de errores y cancelación.
Combinadores de Promises
Promise.all resuelve cuando todas resuelven. Promise.allSettled cuando todas se settling (nunca rechaza). Promise.race con la primera que se settling. Promise.any con la primera que resuelve.
Control de concurrencia
Un limitador de concurrencia encola tareas y asegura que solo un número específico se ejecute simultáneamente. El patrón pMap con Promise.race soporta contrapresión.
Async/Await mejores prácticas
Evita await secuencial en bucles cuando no hay dependencias. Usa Promise.all para operaciones independientes. Manejo de errores con clases de error tipadas.
Manejo de errores y resiliencia
Captura global de rechazos no manejados con unhandledrejection. Patrón Circuit Breaker para servicios externos inestables.
Cancelación con AbortController
Las Promises no son inherentemente cancelables, pero AbortController proporciona un mecanismo estándar para abortar fetch y propagar cancelación.

