O código assíncrono é executado imediatamente e, diferentemente do código síncrono, não espera que a linha de código anterior terminasse de executar. No entanto, quando estamos lidando com várias operações assíncronas, usar retornos de chamada não é uma boa escolha, pois o código se torna confuso, incontrolável e difícil de entender ou depurar. Portanto, a solução é usar promessas.
Neste post, seguiremos o conceito de promessas em JavaScript junto com exemplos.
O que são promessas?
Uma promessa é uma operação ou tarefa que será concluída no futuro. A sintaxe da promessa é dada abaixo:
Sintaxe da promessa:
Let MyPromise = New Promise (function (resolver, rejeitar)Como podemos ver pela sintaxe da promessa acima, o construtor da promessa assume apenas a função de retorno de chamada como um argumento. Na função de retorno de chamada, temos os argumentos de resolução e rejeição em que a resolução é chamada quando as operações executadas dentro da função de retorno de chamada são bem -sucedidas. No entanto, se a operação não tiver êxito, a rejeição de chamada.
Para dizer, deixe -nos supor que seu aniversário está chegando e sua mãe promete que você recebe um novo laptop para você. Você não recebeu o laptop e não pode ter certeza se receberá o laptop ou não até o seu aniversário. Sua mãe pode comprar um laptop para você ou ela pode mudar de idéia e comprar outra coisa. Esta é uma promessa na língua leiga.
Toda promessa tem três estados ou possibilidades:
Vantagens das promessas
Antes de ir aos exemplos de promessa, vamos passar por outro conceito dentro das promessas que são prometidas consumidores cuja função é consumir promessas registrando funções usando:
Exemplo:
Neste exemplo, verificaremos se dois números são iguais ou não usando promessas e, com base se essa operação é bem -sucedida ou não, exibiremos a saída.
// promete inicializarComo a operação foi bem -sucedida, vemos Operação bem sucedida no log do console.
Vamos agora alterar os números inicializados na função de retorno para ver se a função de captura detecta um erro ou não.
// promete inicializarComo os números não são iguais agora, a função rejeit () será invocada e o erro será armazenado em cache pela função de captura:
Conclusão
Uma promessa é uma operação concluída no futuro e ajuda os desenvolvedores a implementar o código assíncrono. As promessas são preferidas sobre as funções de retorno de chamada, pois as promessas são muito mais limpas, melhorando a legibilidade e a depuração do código, ele tem melhor manuseio de erros e várias operações assíncronas são melhor tratadas com promessas. Uma promessa pode ser cumprida, rejeitada ou está pendente.
Neste post, passamos por promessas em JavaScript e explicamos promessas com a ajuda de um exemplo.