En muchas ocaciones nos encontramos en una situción en que necesitamos los valores resueltos por multiples promesas para proceder con el resto de la logíca de nuestro codigo en JavaScript. Ya sea para esperar las respuesta de multiples API, realizar operaciones en una base de datos, o escribir y leer del sistema de archivos. En estos diferentes escenarios podemos usar Promise.all() para esperar a que todas las promesas resuelvan sin necesidad de utilizar promesas anidadas.
Puedes usar Promise.all() de la siguiente manera:
const promesa1 = //...
const promesa2 = //...
const data = await Promise.all([promise1, promise2]);
const [dataDePromesa1, dataDePromesa2] = data;
Tambien se puede capturar el resultado utilizando un bloque then.
const promesa1 = //...
const promesa2 = //...
Promise.all([promesa1, promesa2]).then(data => {
const [dataDePromesa1, dataDePromesa2] = data;
}