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.
asyncantes de uma função significa que a função retorna uma Promise e pode usarawaitdentro dela.awaitpausa 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().