Sobes.tech
Junior — Middle

Pode explicar o conceito de programação assíncrona usando operações Async e Await?

sobes.tech IA

Resposta da IA

A programação assíncrona no Node.js permite executar operações de entrada/saída (como leitura de ficheiros, consultas a bases de dados, pedidos de rede) sem bloquear o fluxo principal de execução. Isto é conseguido usando as palavras-chave async e await.

  • async antes de uma função significa que a função retorna uma Promise e pode usar await dentro dela.
  • await pausa a execução da função até que a Promise seja resolvida ou rejeitada, permitindo escrever código assíncrono de forma semelhante ao síncrono.

Exemplo:

const fetch = require('node-fetch');

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Erro:', error);
  }
}

getData();

Neste exemplo, await faz a função esperar pela resposta de fetch sem bloquear todo o fluxo do Node.js. Isto simplifica o trabalho com código assíncrono e melhora a legibilidade em comparação com o uso de cadeias .then().