Parlez-moi de la construction async/await en JavaScript.
sobes.tech IA
Réponse de l'IA
async/await — un sucre syntaxique sur les promesses, conçu pour écrire un code asynchrone plus simple qui ressemble à du code synchrone.
Une fonction marquée avec le mot async retourne toujours une promesse. À l'intérieur d'une fonction async, vous pouvez utiliser le mot-clé await.
L'opérateur await est utilisé avant l'appel à une promesse. Il suspend l'exécution de la fonction async jusqu'à ce que la promesse soit résolue ou rejetée. Le résultat de la promesse (succès ou erreur) est renvoyé par await.
Si la promesse à laquelle await est appliqué est rejetée, cela génère une exception qui peut être attrapée avec un bloc try...catch.
// Exemple d'utilisation de async/await
async function fetchData() {
try {
// Attendre la fin d'une opération asynchrone (par exemple, une requête API)
const response = await fetch('https://api.example.com/data');
// Analyser la réponse en JSON
const data = await response.json();
// Afficher les données reçues
console.log(data);
} catch (error) {
// Attraper une erreur potentielle
console.error('Erreur lors de la récupération des données:', error);
}
}
// Appeler la fonction async
fetchData();
// Fonction async renvoyant une promesse
async function getValue() {
return 10; // Ceci est automatiquement enveloppé dans Promise.resolve(10)
}
getValue().then(value => console.log(value)); // Affichera 10
Avantages de async/await :
- Lisibilité du code : Le code asynchrone ressemble davantage au code synchrone
- Gestion des erreurs : Plus facile à utiliser avec des blocs
try...catchstandards. - Moins d'imbrication : Évite la "torture des callbacks" ou de longues chaînes
.then().
Il faut se rappeler que await ne peut être utilisé qu'à l'intérieur de fonctions async.