Promise.all() e Promise.allSettled() no Node.js

🚀 Promise.all() e Promise.allSettled() no Node.js: mais performance para aplicações assíncronas

Uma das maiores vantagens do Node.js é sua capacidade de lidar com múltiplas operações assíncronas ao mesmo tempo. 💡

Quando trabalhamos com APIs, bancos de dados, arquivos ou serviços externos, muitas vezes precisamos executar várias operações simultaneamente — e é exatamente aí que entram Promise.all() e Promise.allSettled().

🎯 O que é o Promise.all()?

O Promise.all() recebe um array de Promises e executa todas elas em paralelo. A Promise resultante só será resolvida quando todas as operações forem concluídas com sucesso.

Ütil em cenários como:

  • 🌐 Carregar múltiplas APIs
  • 💾 Buscar dados em diferentes tabelas
  • 📂 Ler vários arquivos ao mesmo tempo
  • ☁️ Processar integrações simultâneas

🔥 O grande benefício está na performance. Imagine três operações que levam 3 segundos cada. Executadas em sequência: 9 segundos. Com Promise.all(): ~3 segundos. 🚀

📌 Detalhe importante: se apenas uma Promise falhar, todo o Promise.all() será rejeitado imediatamente — mesmo que outras operações tenham sido concluídas com sucesso.

⚡ O que é o Promise.allSettled()?

O Promise.allSettled() também executa várias Promises em paralelo, mas com uma diferença fundamental:

  • ✅ Ele sempre retorna o resultado de todas as operações
  • ✅ Não importa se algumas falharam
  • ✅ Cada Promise retorna seu status individual

✔️ fulfilled

A Promise foi concluída com sucesso e o valor resultante está disponível.

❌ rejected

A Promise falhou e o motivo do erro está disponível para tratamento.

Isso torna o Promise.allSettled() ideal para cenários onde falhas parciais são aceitáveis, como:

  • 🔹 Carregamento de múltiplos widgets independentes
  • 🔹 Dashboards com várias fontes de dados
  • 🔹 Integrações externas opcionais
  • 🔹 Processamento em lote
  • 🔹 Relatórios assíncronos

⚡ Em resumo

  • Promise.all() → falha se uma Promise falhar
  • Promise.allSettled() → retorna todos os resultados, mesmo com erros

Dominar esses métodos é um passo importante para escrever aplicações Node.js mais rápidas, modernas e preparadas para cenários reais de alta concorrência. 🚀💚

Voltar para Postagens Node.js / Express Ver no LinkedIn