javascript esperar

| | | |

Introduzido no ES6, o Promises permite que você escreva código assíncrono facilmente sem ter que lidar com várias funções de retorno de chamada. Com promessas, não há necessidade de se preocupar com retornos de chamada de vários níveis que são difíceis de escrever e manter.

Há outro recurso em JavaScript que torna ainda mais fácil escrever código assíncrono usando Promises: funções assíncronas / comparecer. Estes - eles permitem que você escreva código que executa aparências síncronas, mas cria rotinas assíncronas.

Neste guia, discutiremos o que é a função assíncrona/espera e como você pode usá-la em seu código. Vamos começar

Promises: A Refresher

Antes de começarmos a falar sobre as funções assíncronas / de espera, precisamos recapitular as promessas. Uma promessa representa uma operação assíncrona. Indica o código que uma operação será executada, e se a operação for bem sucedida, um valor será retornado. Caso contrário, um erro será retornado para o resto do programa.

Uma Promise representa um valor que não é conhecido no momento em que a Promise foi criada. Uma promessa é apenas isso: uma promessa de que valores futuros ‚Äã‚Äãserão retornados ao seu código. Como a promessa é um objeto, ela deve estar em letras maiúsculas.

Considere este cenário. Você precisa recuperar um recurso de uma API. Levará um ou dois segundos para processar sua solicitação. Em vez de ter o usuário aguardando o processamento da solicitação, você pode mover seu código para uma Promise para que o restante do programa possa continuar funcionando.

Isso significa que você pode continuar renderizando parte do seu interface do usuário do site durante a extração de dados. Assim que um valor for retornado, a Promise enviará para seu programa principal.

Aqui está um exemplo de uma promessa:.

Nosso feedback sobre o código: seus cookies foram enviados! execute o método sendCookies.then(), nossa promessa é liberada. Nosso programa espera 1000 milissegundos, então retorna o valor "Seus cookies foram enviados!" " Nosso programa principal

Como usar Async e Wait

Em uma função e async / wait, uma instrução de espera de execução de código é bloqueada dentro de sua função assíncrona até que uma promessa seja retornada. É por isso que os desenvolvedores frequentemente afirmam que as funções de espera assíncronas/assíncronas, mas observam a execução de tarefas assíncronas.

Considere o seguinte exemplo:.

O feedback do nosso código: seus cookies foram enviados! Nossa função sendCookies() leva 1000 milissegundos para retornar o valor "Seus cookies foram enviados". Nesse caso, declaramos uma função assíncrona para que nosso código esteja aguardando uma promessa ser resolvida ou rejeitada.

A função "async" A palavra-chave informa ao nosso código que queremos executar uma função assíncrona operação em nossa função. A palavra "expectation" - chave indica que nosso código espera que sendCookies() promessa retorne antes de continuar a executar nosso programa.

Funções assíncronas sempre retornam uma promessa.

Usando Async e With Multiple Pass Wait

As funções assíncronas / wait são usadas com mais frequência quando há várias promessas com as quais você precisa trabalhar. Isso às vezes é chamado de promessas de encadeamento. De fato, seu código aguardará uma promessa de retornar a cada etapa antes de passar para a próxima:

Nosso código retorna:

Cada etapa leva 1000 milissegundos completos!. Nossa função sendCookies() não é executada até a promessa de retorno de nossa função ProcessOrder().

Expressões Assíncronas

Existem três maneiras de usar uma função assíncrona/espera.

A primeira é a abordagem que mostramos em nossos últimos exemplos: declarando funções. Em nossos exemplos, declaramos funções que retornam uma promessa, então usamos as palavras "async" e "expectation" - chave para executar essas funções

Você também pode declarar uma função assíncrona usando funções de direção:

Este código retorna: Seus cookies foram enviados! este é o mesmo que nosso primeiro exemplo, mas ao invés de declarar uma função main() nós usamos uma função de seta

Da mesma forma você pode usar a sintaxe de expressão da função:.

Este código de retorno: Seus cookies foram enviados Como você pode ver, a saída é novamente l ou ela mesma. A única diferença é como declaramos nossa função.

Na verdade, essa sintaxe é muito semelhante ao nosso último exemplo. Nós apenas usamos a palavra - chave "função ()" no lugar de usar uma função de boom.

Não há melhor maneira de declarar uma função assíncrona/espera. Tudo depende do programa que você está escrevendo e da sintaxe que você prefere. Embora se possa argumentar que funções de direção são o método mais conciso, outras maneiras de declarar uma função assíncrona/espera podem ser melhores em outros casos.

Processamento de solicitações da Web usando Async/espera

Um dos usos mais comuns da função async / é await para processar solicitações da Web com uma API baseada em promessa, Fetch As(). Você pode ler mais sobre como usar fetch() em nosso guia de JavaScript para iniciantes para pesquisar

Vamos pegar este exemplo:

Nosso código retorna:

Quando executamos nossa função retrieveComments(), usamos a execução "wait" word - key to wait" de nossa busca () declaração. Isso significa que o restante de nossa programação não continua até que nossa solicitação da Web seja processada. Na verdade, a função retorna uma promessa.

Quando uma promessa é retornada pela função fetch() fetch (), convertemos o valor retornado para JSON. Em seguida, identificamos o objeto para buscar uma lista de nomes de todos os comentários e imprimi-la no console

Como lidar com um erro h2>

Ah, como eu gostaria que os erros não ocorressem no código. Mas eles fazem, e há desenvolvedores que temos que planejar algo. Função assíncrona, o tratamento de erros é realizado usando um try ... catch síncrono. Considere este código:.

Nosso código retorna:

No nosso exemplo, usamos um .catch() se um retornado. Nesse caso, usamos require ("Erro") para informar ao nosso código que ocorreu um erro.

Se essa instrução for executada, nossa declaração .catch() será ativada e o erro será impresso.

Da mesma forma, funções assíncronas podem detectar erros de sintaxe:.

Nosso código retorna: NetworkError ao tentar recuperar o recurso. Neste exemplo, usamos uma instrução try/catch para verificar se nosso método wait retornou uma promessa de sucesso. Novamente, nossa API é inválida, fazendo com que nosso programa rejeite nossa promessa. Quando isso acontece, o "catch" é executado em nosso bloco try/catch, que registra nosso erro no console.

Conclusão

As funções assíncronas/espera ajudam a escrever operações assíncronas no código. Quando uma função assíncrona é declarada, você pode usar a palavra "waiting" - key para aguardar o resultado das operações. A palavra-chave wait deve ser usada com uma função que retorna uma promessa.

Agora você está pronto para use funções JavaScript assíncronas / Espere como um especialista!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method