Nominare gli strumenti che hai usato per scrivere chiamate asincrone.
sobes.tech AI
Risposta dell'AI
JavaScript offre diversi strumenti per lavorare con chiamate asincrone:
-
Funzioni di callback: Approccio classico, in cui una funzione viene passata come argomento a un'altra funzione e viene eseguita dopo il completamento dell'operazione asincrona.
-
Promesse (Promises): Oggetti che rappresentano un valore futuro o un errore di un'operazione asincrona. Semplificano la catena di chiamate asincrone e la gestione degli errori.
// Esempio di utilizzo delle promesse fetch('/api/data') .then(response => response.json()) // Gestione risposta di successo .then(data => console.log(data)) // Lavorare con i dati ricevuti .catch(error => console.error('Errore:', error)); // Gestione errori -
Async/await: Zucchero sintattico sulle promesse, che permette di scrivere codice asincrono in uno stile più sincrono, migliorando la leggibilità.
// Esempio di utilizzo di async/await async function fetchData() { try { const response = await fetch('/api/data'); // Attendere il completamento di fetch const data = await response.json(); // Attendere il parsing JSON console.log(data); } catch (error) { console.error('Errore:', error); } } fetchData(); -
XMLHttpRequest (XHR): API di base per effettuare richieste HTTP nel browser. Più a basso livello rispetto a
fetche richiede più codice per la gestione.// Esempio di utilizzo di XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Richiesta asincrona xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Errore:', xhr.statusText); } }; xhr.onerror = function() { console.error('Errore di rete'); }; xhr.send(); -
Fetch API: API moderna e più flessibile per effettuare richieste HTTP, basata su promesse.
// Esempio di utilizzo di Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Errore:', error)); -
Librerie per lavorare con richieste HTTP: Per esempio,
axios(per browser e Node.js) ojQuery.ajax(). Semplificano e standardizzano l'esecuzione di richieste asincrone.// Esempio di utilizzo di Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Errore:', error));
La scelta dello strumento dipende dalla specificità del compito e dal contesto del progetto. Fetch e async/await sono approcci moderni e raccomandati per la maggior parte dei casi.