Sobes.tech
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.