JavaScript · Intermediário · Inglês · Técnico
Promise.all
Função que recebe várias promises e devolve uma que cumpre com o array de resultados quando todas cumprem, ou rejeita assim que a primeira rejeita.
Onde usar
Usada para disparar chamadas independentes em paralelo. Em code review, troca-se awaits em sequência por Promise.all, lembrando que um erro derruba o conjunto.
Em código
async function carregar() {
const [a, b] = await Promise.all([
fetch('/a').then((r) => r.json()),
fetch('/b').then((r) => r.json()),
]);
return [a, b];
}Exemplos
Run both requests with Promise.all instead of awaiting one by one.
Rode as duas requisições com Promise.all em vez de dar await uma a uma.
If one promise rejects, Promise.all rejects right away.
Se uma promise rejeitar, o Promise.all rejeita na hora.
Cuidado
Usar quando se quer todos os resultados mesmo com falhas: nesse caso, o certo é Promise.allSettled.