DEV Community

Cristian Fernando
Cristian Fernando

Posted on

Paracetamol.js💊| #122: Explica este código JavaScript

Explica este código JavaScript

Dificultad: Avanzado

const p1 = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve("p1")
    },3000)
  })
}

const p2 = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve("p2")
    }, 5000)
  })
}

const p3 = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      reject(new Error("Error en p3"))
    }, 2000)
  })
}


Promise.all([p1(), p2(), p3()])
  .then((mensaje) => console.log(mensaje))
  .catch(err => console.log(err))
Enter fullscreen mode Exit fullscreen mode

A. ["p1", "p2", "Error: Error en p3"] (después de 10s)
B. ["p1", "p2"] (después de 8s)
C. Error: Error en p3 (después de 2s)
D. Ninguna de las anteriores

Respuesta en el primer comentario.


Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
C. Error: Error en p3 (después de 2s)

Promise.all apenas encuentra una promesa que se rechace termina su ejecución, siempre devolverá todas las promesas satisfechas o ninguna.

En este caso a los 2s encuentra que la promesa p3 se rechaza entonces automáticamente termina el proceso.