Neste artigo você vai aprender a como resolver o erro await is only valid in async function, e você vai entender porque ele acontece
Fala programador(a), beleza? Bora aprender mais sobre funções assíncronas!
O erro “await is only valid in async function” ocorre quando o operador de aguardo (await) é usado fora de uma função assíncrona. Isso significa que o operador de aguardo só pode ser usado dentro de uma função que foi marcada com a palavra-chave “async”.
Vejamos um exemplo de código que gera esse erro:
function getData() { const response = await fetch('https://api.example.com/data'); const data = await response.json(); return data; } const data = getData(); // Aqui ocorre o erro "await is only valid in async function"
Para corrigir esse erro, basta transformar a função getData em uma função assíncrona, marcando-a com a palavra-chave “async”. O código acima pode ser corrigido da seguinte maneira:
async function getData() { const response = await fetch('https://api.example.com/data'); const data = await response.json(); return data; } const data = getData(); // Agora o código não gera o erro "await is only valid in async function"
É importante lembrar que o operador de aguardo só pode ser usado dentro de uma função assíncrona, pois ele permite que o código espere pela conclusão de uma operação assíncrona antes de continuar a execução.
Sem o operador de aguardo, o código continuaria a execução imediatamente, o que poderia levar a resultados incorretos ou inesperados.
O que é uma função assíncrona?
Uma função assíncrona é uma função que permite que o código execute de forma assíncrona, ou seja, sem bloqueá-lo enquanto aguarda a conclusão de uma operação.
Isso é útil quando precisamos realizar operações que podem levar um tempo considerável, como fazer uma solicitação HTTP a um servidor ou ler um arquivo do disco.
Deixe um comentário contando o que achou deste artigo 🙂
Quando não utilizar função assíncrona?
Quando não precisamos esperar pela conclusão de uma operação assíncrona: se o código não precisa aguardar a conclusão de uma operação assíncrona para continuar a execução, não há necessidade de usar uma função assíncrona.
Por exemplo, se o código precisa apenas imprimir uma mensagem na tela, não há necessidade de usar uma função assíncrona.
Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:
Conclusão
No artigo de hoje você viu como corrigir o erro await is only valid in async function
Basta criar a função com a palavra async antes de sua definição
Isso faz o JavaScript nos deixar utilizar o await dentro da mesma, e o erro é resolvido
Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!
Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!