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()
- 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)
Respuesta:
[ "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.