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:
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:
Criando um objeto de promessa simples em JavaScript
Aqui vamos aprender a criar um objeto de promessa em apenas algumas etapas simples:
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) =>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) =>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) =>Método Catch () : Da mesma forma, o método Catch () define o que acontecerá a seguir se uma promessa falhar.
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.