JavaScript Academy · Aula

Promise.all / any / race / allSettled — escolha a ferramenta certa

Pratique os combinadores de Promise: all, any, race e allSettled. Aprenda o comportamento em caso de sucesso ou falha e quando usar cada um

Aula 3 de 38 etapas

Promise.all / any / race / allSettled — escolha a ferramenta certa é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.

Visão geral dos combinadores

Objetivo: Aprenda quatro auxiliares e seu comportamento.

  • all: aguarda todos; falha rapidamente
  • any: primeiro sucesso
  • race: primeiro concluído (sucesso/erro)
  • allSettled: resultados de todos
Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 1

Noções básicas de Promise.all

Promise.all é resolvido com uma matriz de resultados; uma única rejeição rejeita tudo.

// Small helpers for examples
function delay(ms, value, shouldFail = false) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      if (shouldFail) reject(new Error(String(value)));
      else resolve(value);
    }, ms);
  });
}

// Promise.all waits for all; rejects fast on first error
Promise.all([
  delay(10, "A"),
  delay(5, "B")
]).then(function (vals) {
  console.log("all:", vals);
});
Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 2

Noções básicas de Promise.any

Promise.any é resolvido com o primeiro sucesso; só é rejeitado se all as entradas forem rejeitadas.

// Promise.any gives the first fulfilled value
Promise.any([
  delay(8, "ok-1"),
  delay(3, "ok-2"),
  delay(6, "ok-3")
]).then(function (v) {
  console.log("any:", v);
}).catch(function (e) {
  console.log("any failed:", e.message);
});
Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 3

Noções básicas de Promise.race

Promise.race escolhe o que for concluído primeiro: pode ser uma resolução ou uma rejeição.

// Promise.race settles with the first to finish (success or error)
Promise.race([
  delay(5, "win"),
  delay(7, "boom", true)
]).then(function (v) {
  console.log("race resolved:", v);
}).catch(function (e) {
  console.log("race rejected:", e.message);
});
Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 4

Noções básicas de Promise.allSettled

Promise.allSettled sempre é resolvido com uma matriz de objetos de status para cada entrada.

// Promise.allSettled waits for all and reports each outcome
Promise.allSettled([
  delay(4, "A"),
  delay(6, "X", true)
]).then(function (results) {
  console.log("allSettled:", results.map(function (r) { return r.status; }));
});
Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 5

Qual usar?

Escolha:

  • all: você precisa de all results; falhe rapidamente diante de qualquer erro.
  • any: aceite o first success (fontes alternativas).
  • race: escolha o first to finish (padrões de tempo limite).
  • allSettled: reúna every outcome para inspecionar.
Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 6

Questionário sobre a escolha de combinadores

Verificação rápida: primeiro resultado cumprido.

Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 7

Recapitulação

Recapitulação: Use all para “precisa de todos”, any para “primeiro sucesso”, race para “primeiro concluído” e allSettled para inspecionar todos os resultados sem interromper a execução antecipadamente.

Promise.all / any / race / allSettled — escolha a ferramenta certa — ilustração 8
Grátis para começar

Aprenda JavaScript com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
59
Aulas
200

Perguntas Frequentes

A aula “Promise.all / any / race / allSettled — escolha a ferramenta certa” é grátis?

Sim — o texto completo de “Promise.all / any / race / allSettled — escolha a ferramenta certa” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.

O que vou aprender em “Promise.all / any / race / allSettled — escolha a ferramenta certa”?

Pratique os combinadores de Promise: all, any, race e allSettled. Aprenda o comportamento em caso de sucesso ou falha e quando usar cada um Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.

Quanto tempo leva a aula “Promise.all / any / race / allSettled — escolha a ferramenta certa”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Loop de eventos e fundamentos de tarefas e microtarefas
  2. Promises — estados, encadeamento e tratamento de erros
  3. Promise.all / any / race / allSettled — escolha a ferramenta certa
← Voltar para JavaScript Academy