1
resposta

Async / await

Em um determinado trecho da aula a instrutura diz:

"Se tiramos o async await da função, ela fica uma função JavaScript normal igual várias outras que escrevemos."

Isso quer dizer que se retirarmos o async / await o programa também funcionaria?

Se sim, de forma síncrona, correto?

Ou seja, nada seria processado enquanto essa função tivesse executando o que lhe foi proposta.

1 resposta

Olá, Rosemberg! Como vai?

Sim, você está correto. Se você remover async e await de uma função assíncrona, ela se comportará como uma função síncrona normal. Isso significa que, ao invés de esperar que uma operação assíncrona seja concluída antes de prosseguir, a função continuará a execução das próximas linhas de código imediatamente, sem esperar pela conclusão da operação assíncrona.

Por exemplo, considere uma função que lê um arquivo e depois faz algo com o conteúdo. Com async e await, você pode escrever o código de forma que ele pareça síncrono, esperando pela leitura do arquivo antes de prosseguir. Sem async e await, você precisaria usar .then() para lidar com a promessa retornada pela operação de leitura do arquivo, o que pode tornar o código um pouco mais difícil de ler.

Aqui está um exemplo prático:

Com async e await:

async function lerArquivo() {
  const conteudo = await fs.promises.readFile('meuArquivo.txt', 'utf-8');
  console.log(conteudo);
}

Sem async e await:

function lerArquivo() {
  fs.promises.readFile('meuArquivo.txt', 'utf-8')
    .then(conteudo => {
      console.log(conteudo);
    })
    .catch(erro => {
      console.error(erro);
    });
}

Ambas as abordagens são válidas, mas async e await geralmente tornam o código mais fácil de entender e manter, especialmente quando você tem várias operações assíncronas encadeadas.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.