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.