O que é um objeto de promessa em JavaScript

O que é um objeto de promessa em JavaScript

Em JavaScript, os objetos da promessa são usados ​​para trabalhar com as operações assíncronas. O conceito de promessa pode parecer complicado a princípio, mas na realidade eles são bastante simples; Podemos entender as promessas de JavaScript comparando -as com promessas do mundo real usando os termos do leigo.

Na vida cotidiana, fazemos promessas de mostrar nosso compromisso. Da mesma forma em JavaScript, fazemos um objeto de promessa quando precisamos estar comprometidos em executar um bloco de código.

Por exemplo, quando enviamos uma solicitação para buscar dados de uma API através de nosso código, a API leva tempo para responder. Enquanto isso, o intérprete JavaScript passa para o próximo bloco de código, mas queremos executar algum código de código após o cumprimento ou rejeição da resposta. Agora, se usarmos o objeto Promise, podemos executar a linha desejada de códigos após o cumprimento ou rejeição da resposta da API.

Os objetos da promessa JavaScript podem ter três estados diferentes i.e:

  • Pendente
  • Realizada
  • Rejeitado

A promessa está em estado pendente quando o resultado do objeto de promessa é indefinido; é cumprido quando o resultado tem um valor e rejeitado quando o resultado é um erro. Por exemplo, no exemplo acima, se enviamos a solicitação à API e aguardamos os dados, então a promessa está em estado pendente. Se a API enviar com sucesso os dados, a promessa será cumprida e se o código não puder se conectar com a API, a promessa foi rejeitada.

O que são promessas em JavaScript

Como mencionado acima, operações assíncronas em JavaScript são tratadas através de promessas. JavaScript assíncrono refere -se principalmente às funções que estão sendo executadas em paralelo com o programa principal.

Nos eventos JavaScript e funções de retorno de chamada, foram usadas para lidar com operação assíncrona antes das promessas. As promessas foram adicionadas na versão ES6 do JavaScript em 2015. Embora funções e eventos de retorno de chamada fossem úteis, eles ainda tinham suas limitações. O inferno de retorno foi a maior desvantagem do uso de funções de retorno de chamada.

As promessas são perfeitas para lidar com operações assíncronas, pois podem lidar com várias operações assíncronas e são muito melhores em lidar com erros do que eventos e retornos de chamada.

Como as promessas funcionam em JavaScript

Funções assíncronas são funções que são paralelas ao programa principal. Essas funções funcionam separadamente do programa principal e notificam o segmento de chamada de seu sucesso, fracasso ou progresso.

O objeto Promise em JavaScript tem um dos três estados:

  • pendente: é o estado do objeto de promessa entre sua inicialização e conclusão.
  • cumprido/resolvido: é o estado que indica que a operação do objeto de promessa foi bem -sucedida.
  • Rejeitado: é o estado que indica que a operação do objeto de promessa não teve êxito.

Criando um objeto de promessa simples em JavaScript

Aqui vamos aprender a criar um objeto de promessa em apenas algumas etapas simples:

  1. Em JavaScript, um objeto de promessa é criado usando um construtor “nova promessa ()”. Este construtor leva uma função de volta com dois argumentos como argumento.
  2. O código que é necessário para executar a tarefa prometida é escrito no corpo da função de volta.
  3. Se a tarefa for executada com sucesso, a promessa será resolvida/cumprida; Caso contrário, a promessa é rejeitada/não realizada.
  4. Existem dois métodos associados ao objeto Promise, o método então () e o Catch (). Esses métodos são (respectivamente) chamados se a promessa for resolvida ou rejeitada.

Observação: O console do navegador é usado para a demonstração de exemplos neste artigo.

As promessas de JavaScript são criadas usando o novo Promessa () construtor:

const mypromise = new Promise ();

A nova promessa leva dois parâmetros diferentes. Um desses parâmetros é para o sucesso (caso a promessa seja resolvida) e o outro é para falha (caso a promessa seja rejeitada):

const mypromise = nova promessa ((resolver, rejeitar) =>
// condição // condição
);

Finalmente, definimos o corpo do objeto de promessa. Damos uma condição que só será cumprida se a promessa for resolvida:

const mypromise = nova promessa ((resolver, rejeitar) =>
deixe condição = true;
if (condição)
Resolve ('Promessa é resolvida.');
outro
rejeitar ('a promessa é rejeitada.');

);

Agora vamos aprender a usar nosso objeto de promessa recém -criado. Só pode haver dois resultados finais diferentes para um objeto de promessa; pode ser uma promessa resolvida ou rejeitada.

então () método : O método então () define o que acontecerá a seguir se uma promessa for resolvida.

minha promessa.então();

Neste exemplo, estamos usando o método então () para registrar uma mensagem (que recebemos da promessa) ao console.

minha promessa.então ((mensagem) =>
console.log (mensagem);
);

Método Catch () : Da mesma forma, o método Catch () define o que acontecerá a seguir se uma promessa falhar.

minha promessa.então ((mensagem) =>
console.log (mensagem);
).Catch ((mensagem) =>
console.log (mensagem);
);

Pode ser escrito de duas maneiras diferentes; separadamente ou em combinação com o método então (). Caso a promessa não esteja cumprida, ele executará o método Catch () e desta vez uma mensagem diferente será mostrada no console.

Conclusão

As promessas em JavaScript são objetos usados ​​como uma alternativa de funções e eventos de retorno de chamada ao lidar com operações assíncronas em JavaScript. Promessas podem ter três estados diferentes eu.e. pendente, cumprido ou não realizado. No estado pendente, o objeto de promessa está aguardando o valor, portanto, não tem valor. No estado cumprido, ele tem o valor resolvido e, no estado não realizado, tem a razão pela qual a promessa não foi resolvida. Este post foi um guia completo sobre os objetos de promessa em JavaScript.