Junior — Middle
Como é que a execução simultânea de várias promessas é realizada usando Promise.all e como são tratados os seus resultados?
sobes.tech IA
Resposta da IA
Promise.all permite executar várias promessas em paralelo e aguardar que todas elas sejam concluídas. Ele aceita um array de promessas e retorna uma nova promessa que:
- É resolvida com sucesso se todas as promessas do array forem concluídas com sucesso. Nesse caso, o resultado será um array de valores correspondentes a cada promessa na mesma ordem.
- É rejeitada se pelo menos uma das promessas for rejeitada, retornando o erro da primeira promessa rejeitada.
Exemplo de uso:
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);
Promise.all([promise1, promise2, promise3])
.then(results => {
console.log(results); // [1, 2, 3]
})
.catch(error => {
console.error('Uma das promessas foi rejeitada:', error);
});
Assim, Promise.all é útil para executar várias operações assíncronas simultaneamente e lidar com seus resultados após todas serem concluídas.