DEV Community

Cristian Fernando
Cristian Fernando

Posted on

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

Explica este código JavaScript

Dificultad: Avanzado

const a = () => { return new Promise((resolve, reject) => resolve("a")) } const b = () => { return new Promise((resolve, reject) => reject("b")) } const c = () => { return new Promise((resolve, reject) => reject("c")) } const x = () => { return new Promise((resolve, reject) => resolve("x")) } const y = () => { return new Promise((resolve, reject) => resolve("y")) } const z = () => { return new Promise((resolve, reject) => reject("z")) } const getPromisesRejected = () => { return Promise.allSettled([a(), b(), c(), x(), y(), z()]) .then(response => { const errors = response .filter((promise) => promise.status ==="rejected") .map((promise) => promise.reason) console.log(errors); }) .catch( () => console.log(e)) } getPromisesRejected() 
Enter fullscreen mode Exit fullscreen mode
  • A. [ "a", "x", "y" ]
  • B. [ "b", "c", "z" ]
  • C. []
  • D. Promise { <pending> }
  • E. Ninguna de las anteriores

Respuesta en el primer comentario.


Top comments (1)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:

  • B. [ "b", "c", "z" ]

Este reto parece algo complicado, pero es mas simple de lo que parece.

La función getPromisesRejected se encarga de filtar y mostrar las promesas que fallan, de un total de 6 promesas, 3 son las que fallan y justamente esas son las que vemos en un arreglo en la respuesta.