Nome as ferramentas que utilizou para escrever chamadas assíncronas.
sobes.tech IA
Resposta da IA
O JavaScript oferece várias ferramentas para trabalhar com chamadas assíncronas:
-
Funções Callback: Abordagem clássica, onde uma função é passada como argumento para outra função e é executada após a conclusão da operação assíncrona.
-
Promises: Objetos que representam um valor futuro ou um erro de uma operação assíncrona. Simplificam a cadeia de chamadas assíncronas e o tratamento de erros.
// Exemplo de uso de promises fetch('/api/data') .then(response => response.json()) // Tratamento de resposta bem-sucedida .then(data => console.log(data)) // Trabalhar com os dados recebidos .catch(error => console.error('Erro:', error)); // Tratamento de erros -
Async/await: Açúcar sintático sobre as promises, permitindo escrever código assíncrono em um estilo mais síncrono, o que melhora a legibilidade.
// Exemplo de uso de async/await async function fetchData() { try { const response = await fetch('/api/data'); // Espera a conclusão do fetch const data = await response.json(); // Espera pelo parsing do JSON console.log(data); } catch (error) { console.error('Erro:', error); } } fetchData(); -
XMLHttpRequest (XHR): API básica para fazer requisições HTTP no navegador. Mais de baixo nível em comparação com
fetche requer mais código para lidar.// Exemplo de uso de XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Requisição assíncrona xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Erro:', xhr.statusText); } }; xhr.onerror = function() { console.error('Erro de rede'); }; xhr.send(); -
Fetch API: API moderna e mais flexível para fazer requisições HTTP, baseada em promessas.
// Exemplo de uso do Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Erro:', error)); -
Bibliotecas para trabalhar com requisições HTTP: Por exemplo,
axios(para navegador e Node.js) oujQuery.ajax(). Elas simplificam e padronizam a execução de requisições assíncronas.// Exemplo de uso do Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Erro:', error));
A escolha da ferramenta depende da especificidade da tarefa e do contexto do projeto. Fetch e async/await são abordagens modernas e recomendadas para a maioria dos casos.