Repaso
English
Frontend y webIntermedioFE-06

¿Qué hace Promise.all([p1, p2, p3]) cuando p2 rechaza?

Opciones

  1. Espera a todas y devuelve resultados y errores
  2. Rechaza cuando p2 rechaza; las demás siguen ejecutándose (Opción correcta)
  3. Ignora p2 y devuelve los otros dos resultados
  4. Reintenta p2 hasta que funcione

Respuesta

Rechaza en cuanto p2 rechaza (fail-fast); las demás promesas siguen ejecutándose

Por qué

Promise.all ejecuta las promesas en paralelo y te da todos los resultados, pero si CUALQUIERA falla, la promesa combinada falla de inmediato con ese error. Las demás no se cancelan; sus resultados simplemente se ignoran.

Usa Promise.allSettled para obtener todos los resultados y errores, Promise.race para la primera en terminar, Promise.any para el primer éxito.

Recuerda

Promise.all falla rápido; allSettled espera a todo.

Términos clave

Practica esta pregunta en Repaso