Explica este código JavaScript
Dificultad: Intermedio
const one = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("one")
}, 2000)
})
}
const err = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject("err")
}, 1000)
})
}
const two = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve("two")
}, 5000)
})
}
const res = () => {
return Promise.all([one(), err(), two() ])
}
res()
.then(x => console.log(x))
.catch(err => console.log(err))
- A.
"err"
(después de 5s) - B.
"err"
(después de 1s) - C.
["one"]
(después de 2s) - D.
["one", "two"]
(después de 5s)
Respuesta en el primer comentario.
Top comments (1)
Respuesta:
"err"
(después de 1s)Promise.all()
se usa para ejecutar promesas en paralelo, pero con algunas peculiaridades:Dicho esto la función
err
regresa un error después de 1s, por ello veremos este mensaje de error después de dicho tiempo.