Para evitar que terminemos creando un código farragoso e ilegible, o lo que es peor, un código que no funcione bien, JavaScript nos ofrece la posibilidad de controlar la ejecución de varias promesas de manera simultánea.
Con Promise.all() ponemos como condición para ejecutar un código que todas las promesas se hayan resuelto correctamente o que alguna de error. Os pongo un ejemplo:
Promise.all([Promise1, Promise2, Promise3])
.then(result) => {
console.log(result)
})
.catch(error => console.log(`Error en promesas ${error}`))
Si queremos esperar a que todas las promesas den respuesta tenemos Promise.allSettled(). Os pongo el ejemplo:
Promise.allSettled([Promise1, Promise2, Promise3])
.then(result) => {
console.log(result)
})
.catch(error => console.log(`Error en promesas ${error}`))
Si queremos esperar sólo a la primera respuesta recibida de una promesa tenemos Promise.race(). Os pongo el ejemplo:
Promise.race([Promise1, Promise2, Promise3])
.then(result) => {
console.log(result)
})
.catch(error => console.log(`Error en promesas ${error}`))
Espero que os sea de utilidad ^_^.
Comentarios