Nommez les outils que vous avez utilisés pour écrire des appels asynchrones.
sobes.tech IA
Réponse de l'IA
JavaScript propose plusieurs outils pour travailler avec des appels asynchrones:
-
Fonctions Callback: Approche classique, où une fonction est passée en argument à une autre fonction et s'exécute après la fin de l'opération asynchrone.
-
Promises: Objets représentant une valeur future ou une erreur d'une opération asynchrone. Simplifient la chaîne d'appels asynchrones et la gestion des erreurs.
// Exemple d'utilisation des promises fetch('/api/data') .then(response => response.json()) // Traitement de la réponse réussie .then(data => console.log(data)) // Travail avec les données reçues .catch(error => console.error('Erreur:', error)); // Gestion des erreurs -
Async/await: Sucres syntaxiques sur les promises, permettant d'écrire du code asynchrone dans un style plus synchrone, ce qui améliore la lisibilité.
// Exemple d'utilisation d'async/await async function fetchData() { try { const response = await fetch('/api/data'); // Attente de la fin de fetch const data = await response.json(); // Attente du parsing JSON console.log(data); } catch (error) { console.error('Erreur:', error); } } fetchData(); -
XMLHttpRequest (XHR): API de base pour effectuer des requêtes HTTP dans le navigateur. Plus bas niveau comparé à
fetchet nécessite plus de code pour la gestion.// Exemple d'utilisation de XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Requête asynchrone xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Erreur:', xhr.statusText); } }; xhr.onerror = function() { console.error('Erreur réseau'); }; xhr.send(); -
Fetch API: API moderne et plus flexible pour effectuer des requêtes HTTP, basée sur les promises.
// Exemple d'utilisation de Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Erreur:', error)); -
Bibliothèques pour travailler avec des requêtes HTTP: Par exemple,
axios(pour navigateur et Node.js) oujQuery.ajax(). Elles simplifient et standardisent l'exécution des requêtes asynchrones.// Exemple d'utilisation d'Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Erreur:', error));
Le choix de l'outil dépend de la spécificité de la tâche et du contexte du projet. Fetch et async/await sont des approches modernes et recommandées pour la plupart des cas.