Numește instrumentele pe care le-ai folosit pentru a scrie apeluri asincrone.
sobes.tech AI
Răspuns de la AI
JavaScript oferă diverse instrumente pentru lucrul cu apelurile asincrone:
-
Funcții callback: Abordarea clasică, unde o funcție este transmisă ca argument către o altă funcție și se execută după finalizarea operației asincrone.
-
Promisiuni (Promises): Obiecte care reprezintă o valoare viitoare sau o eroare a unei operații asincrone. Simplifică lanțul de apeluri asincrone și gestionarea erorilor.
// Exemplu de utilizare a promisiunilor fetch('/api/data') .then(response => response.json()) // Tratarea răspunsului de succes .then(data => console.log(data)) // Lucrul cu datele primite .catch(error => console.error('Eroare:', error)); // Tratarea erorilor -
Async/await: Zahăr sintactic peste promisiuni, care permite scrierea codului asincron într-un stil mai sincron, ceea ce îmbunătățește lizibilitatea.
// Exemplu de utilizare a async/await async function fetchData() { try { const response = await fetch('/api/data'); // Așteptarea finalizării fetch const data = await response.json(); // Așteptarea parsing-ului JSON console.log(data); } catch (error) { console.error('Eroare:', error); } } fetchData(); -
XMLHttpRequest (XHR): API de bază pentru efectuarea cererilor HTTP în browser. Mai jos nivel comparativ cu
fetchși necesită mai mult cod pentru gestionare.// Exemplu de utilizare XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Cerere asincronă xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Eroare:', xhr.statusText); } }; xhr.onerror = function() { console.error('Eroare de rețea'); }; xhr.send(); -
Fetch API: API modern și mai flexibil pentru efectuarea cererilor HTTP, bazat pe promisiuni.
// Exemplu de utilizare Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Eroare:', error)); -
Biblioteci pentru lucrul cu cereri HTTP: De exemplu,
axios(pentru browser și Node.js) saujQuery.ajax(). Ele simplifică și standardizează efectuarea cererilor asincrone.// Exemplu de utilizare Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Eroare:', error));
Alegerea instrumentului depinde de specificul sarcinii și de contextul proiectului. Fetch și async/await sunt abordări moderne și recomandate pentru majoritatea cazurilor.