Neste artigo você vai aprender a como usar promessas em JavaScript para lidar com operações assíncronas

Como usar promessas em JavaScript capa

Fala programador(a), beleza? Bora aprender sobre as promises em JavaScript!

As promessas são uma forma de lidar com operações assíncronas em JavaScript, permitindo que você escreva código de forma mais organizada e legível.

Elas são especialmente úteis quando você precisa encadear várias operações assíncronas ou lidar com erros de forma mais eficiente.

Aqui estão algumas dicas para usar promessas em JavaScript:

Crie uma promessa

Para criar uma promessa, você deve usar a função Promise e passar uma função que recebe dois parâmetros: resolve e reject.

A função resolve deve ser chamada quando a operação for bem-sucedida e a função reject deve ser chamada quando houver um erro.

Por exemplo, aqui está como criar uma promessa que verifica se um número é par ou ímpar:

const checkNumber = new Promise((resolve, reject) => {
  if (number % 2 === 0) {
    resolve(`${number} é par`);
  } else {
    reject(`${number} é ímpar`);
  }
});

Use o método then para lidar com o resultado da promessa

Depois de criar uma promessa, você pode usar o método then para especificar o que deve acontecer quando a promessa for resolvida ou rejeitada.

O método then recebe dois parâmetros: uma função para lidar com o resultado da promessa (chamada de resolve) e uma função para lidar com o erro (chamada de reject).

Por exemplo, aqui está como usar o método then com a promessa criada anteriormente:

checkNumber
  .then(result => console.log(result))
  .catch(error => console.log(error));

Encadeie várias promessas com o método then

Você também pode encadear várias promessas usando o método then. Isso é útil quando você precisa executar várias operações assíncronas de forma sequencial.

Por exemplo, aqui está como encadear duas promessas para ler dois arquivos de forma sequencial:

readFile("file1.txt")
  .then(result => console.log(result))
  .then(() => readFile("file2.txt"))
  .then(result => console.log(result))
  .catch(error => console.log(error));

Lide com erros com o método catch

O método catch permite que você lide com erros em uma promessa de forma mais simples do que usando o segundo parâmetro do método then.

Ele é especialmente útil quando você está encadeando várias promessas e precisa lidar com erros em todas elas de forma consistente.

Por exemplo, aqui está como usar o método catch com a promessa criada anteriormente:

checkNumber
  .then(result => console.log(result))
  .catch(error => console.log(error));

Crie uma promessa resolvida ou rejeitada com os métodos resolve e reject

Você também pode criar uma promessa já resolvida ou rejeitada usando os métodos Promise.resolve e Promise.reject.

Isso pode ser útil em situações em que você precisa criar uma promessa para padronizar a forma como lida com operações assíncronas.

Por exemplo, aqui está como criar uma promessa resolvida:

const resolvedPromise = Promise.resolve("Promessa resolvida");

E aqui está como criar uma promessa rejeitada:

const rejectedPromise = Promise.reject("Promessa rejeitada");

Use o método Promise.all para executar várias promessas ao mesmo tempo

O método Promise.all permite que você execute várias promessas ao mesmo tempo e aguarde até que todas elas sejam resolvidas ou uma delas seja rejeitada.

Ele recebe um array de promessas como parâmetro e retorna uma única promessa.

Por exemplo, aqui está como usar o método Promise.all para ler vários arquivos ao mesmo tempo:

Promise.all([readFile("file1.txt"), readFile("file2.txt"), readFile("file3.txt")])
  .then(results => console.log(results))
  .catch(error => console.log(error));

Use o método Promise.race para obter o resultado da primeira promessa a ser resolvida

O método Promise.race permite que você obtenha o resultado da primeira promessa a ser resolvida ou rejeitada.

Ele recebe um array de promessas como parâmetro e retorna uma única promessa.

Por exemplo, aqui está como usar o método Promise.race para obter o resultado da primeira chamada HTTP a ser concluída:

Promise.race([fetch("url1"), fetch("url2"), fetch("url3")])
  .then(result => console.log(result))
  .catch(error => console.log(error));

Use o método Promise.finally para executar uma ação independentemente do resultado da promessa

O método Promise.finally permite que você execute uma ação independentemente do resultado da promessa.

Ele é útil para limpar ou desfazer operações que foram feitas enquanto a promessa estava sendo executada.

Por exemplo, aqui está como usar o método Promise.finally para remover um elemento de carregamento da tela depois que a promessa for resolvida ou rejeitada:

doSomething()
  .then(result => console.log(result))
  .catch(error => console.log(error))
  .finally(() => document.getElementById("loading").remove());

Use o método Promise.resolve e Promise.reject com parâmetros adicionais

Além de usar o método Promise.resolve e Promise.reject para criar promessas já resolvidas ou rejeitadas, você também pode passar parâmetros adicionais para esses métodos.

Isso é útil para passar informações adicionais para o manipulador de resultado ou erro da promessa.

Por exemplo, aqui está como usar o método Promise.resolve com um parâmetro adicional:

const resolvedPromise = Promise.resolve("Promessa resolvida", 42);

resolvedPromise.then((result, additionalParam) => console.log(result, additionalParam)); // "Promessa resolvida" 42

E aqui está como usar o método Promise.reject com um parâmetro adicional:

const rejectedPromise = Promise.reject("Promessa rejeitada", 42);

rejectedPromise.catch((error, additionalParam) => console.log(error, additionalParam)); // "Promessa rejeitada" 42

Essas são algumas dicas adicionais para usar promessas em JavaScript.

Espero que elas lhe ajudem a lidar com operações assíncronas de forma mais eficiente e organizada em seu código.

Deixe um comentário contando o que achou deste artigo 🙂

Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:

Conclusão

Neste artigo você aprendeu a como usar promessas em JavaScript

Apresentamos diversos métodos para você trabalhar com promises, e também entender melhor como o recurso funciona

Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.

Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!

Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments