Execução assíncrona em JavaScript

Execução assíncrona em JavaScript
Em muitas linguagens de programação, os processos assíncronos são tratados gerando um novo thread que opera em segundo plano. No entanto, em JavaScript, temos um conceito chamado contexto de execução e loop de eventos, o que impede que o restante do código seja executado. Quando o contexto de execução descobre esses blocos de código em um programa, ele os envia de volta ao loop do evento para execução antes de devolvê -los à pilha de chamadas. Existem três tipos básicos de métodos de código assíncronos na programação JavaScript: retornos de chamada, promessas e palavras -chave assíncronas/aguardas.

Este artigo vai discutir Execução assíncrona em JavaScript. Além disso, também demonstraremos os métodos JavaScript para executar a execução assíncrona, como Retornos de chamada, Promessas, assíncrono/aguardar, com a ajuda de exemplos. Então vamos começar!

Retornos de chamada com execução assíncrona em JavaScript

Os retornos de chamada são um dos estilos de codificação mais comuns para expressar e lidar com a execução assíncrona em JavaScript. É um tipo de função que precisa ser chamado depois que outra função concluiu sua execução. A função de retorno de chamada é invocada com a resposta quando a operação especificada é concluída. Suponha que você queira garantir que uma peça específica de código em seu programa JavaScript não seja executada até que o outro termine sua execução. Nesse caso, você pode alcançar essa funcionalidade utilizando a função de retorno de chamada.

Exemplo: retornos de chamada com execução assíncrona em JavaScript

Vamos dar -lhe um exemplo que o ajudará com o que declaramos. Considere um cenário em que você deve escrever uma string em um fluxo de documentos depois 7 segundos. Nesse caso, você pode usar o “setTimeout ()”JavaScript Função interna que avalia uma expressão ou chama qualquer função após uma quantidade especificada de tempo. No nosso caso, utilizamos a função "setTimeout ()" para invocar o definido "MyFunction ()Após 7 segundos:




Aguarde 7 segundos (7000 milissegundos)




Você pode executar o exemplo acima do seu editor de código favorito ou em qualquer sandbox de codificação on-line; No entanto, utilizaremos o JSBIN para o objetivo da demonstração:

Depois de executar o programa JavaScript fornecido, você será solicitado a esperar “7 segundos”:

Após 7 segundos, a string “Execução assíncrona em JavaScript”Será mostrado como saída:

Promessas com execução assíncrona em JavaScript

Quando você encadeia várias chamadas de função, uma das questões principais dos retornos de chamada é que fica difícil rastrear o fluxo da execução. O ".então()Sintaxe em “Promessas”Resgiz você em tal situação enquanto permite que você acre a encader. Ele permite que você vincule manipuladores com o valor assíncrono adicionado do sucesso ou a causa do fracasso. Como resultado, os métodos assíncronos se comportarão de maneira semelhante aos síncronos.

Em vez de fornecer o valor final imediatamente, a técnica assíncrona retorna uma promessa que oferece o valor que pode ser usado em processamento adicional. Seu objeto de promessas pode estar em um dos três estados: pendente, cumprido ou rejeitado:

  • Pendente: Antes de ocorrer uma operação, a promessa adicional está em um estado pendente.
  • Realizada: O estado cumprido de uma promessa significa que a operação adicionada foi concluída.
  • Rejeitado: Quando um valor de erro é lançado para a operação incompleta, a promessa está sob o estado rejeitado.

Exemplo: promessas com execução assíncrona em JavaScript

Para mostrar o funcionamento de promessas com execução assíncrona em JavaScript, em primeiro lugar, definiremos um “Mostrar mensagem()”Função que será invocada para o sucesso e o fracasso da promessa adicionada:






A execução do código acima mencionado mostrará a seguinte saída:

Agora, de propósito, mudaremos o valor da variável “a”Para verificar se o retorno de chamada para o fracasso da promessa está funcionando ou não:

Como você pode ver, o retorno de chamada para o fracasso está exibindo “Erro encontrado”String de acordo com o nosso programa JavaScript Coding:

assíncrono/aguardar com execução assíncrona em javascript

O "assíncrono" e "aguardam”As palavras -chave são adicionadas à versão mais recente do JavaScript. Essas palavras -chave tornam as promessas de escrita mais fáceis e permitem que o usuário tenha controle total sobre a sequência da execução das promessas. A função assíncrona sempre retorna promessas, e a função aguardar é utilizada na função assíncrona para interromper a execução do método adicionado enquanto aguarda a promessa de resolver. Depois disso, retomará a execução da função e produzirá o valor resolvido.

Exemplo: assíncrono com execução assíncrona em javascript

Agora, no mesmo exemplo, adicionaremos um myfunction assíncrono () que retorna uma promessa:






Dê uma olhada no código fornecido e em sua saída:

Exemplo: aguarde com execução assíncrona em JavaScript

Neste exemplo, primeiro adicionaremos o “assíncronoPalavra -chave com a definição de função showMessage () para gerar uma promessa. Depois de fazer isso, especificaremos “aguardam"Com o criado"minha promessa”Objeto para que ele aguarde a mypromise:






Aqui está a saída que obtemos ao executar o exemplo acima do rumo:

Conclusão

Retornos de chamada, promessas e palavras -chave assíncronas/aguardistas são os três métodos para lidar com a execução assíncrona em JavaScript. Os retornos de chamada permitem acesso às funções quando o método assíncrono concluiu a execução; As promessas ajudam a encadear o método e a palavra -chave assíncrona/aguardar fornece controle adicional sobre as promessas. Este artigo discutiu a execução assíncrona em JavaScript. Além disso, também demonstramos os métodos de execução assíncrona, como retornos de chamada, promessas, assíncronas/aguardam em JavaScript com exemplos.