Quelles méthodes de travail avec du code asynchrone connais-tu?
sobes.tech IA
Réponse de l'IA
Callbacks, Promesses, async/await.
Callbacks : Fonctions passées en argument à d'autres fonctions, qui sont appelées après la fin d'une opération asynchrone.
Promesses : Objets offrant une manière plus pratique de gérer l'asynchronie par rapport aux callbacks. Ils ont des états pending, fulfilled et rejected.
// Exemple de Promise
function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Opération terminée avec succès!');
}, 1000);
});
}
asyncOperation()
.then(result => console.log(result))
.catch(error => console.error(error));
async/await : Sucre syntaxique sur Promises, rendant le code asynchrone plus semblable au synchrone et améliorant sa lisibilité.
// Exemple d'async/await
async function performAsyncOperation() {
try {
const result = await asyncOperation();
console.log(result);
} catch (error) {
console.error(error);
}
}
performAsyncOperation();
Comparaison des méthodes :
| Méthode | Lisibilité / Maintenabilité | Gestion des erreurs | Contrôle du flux |
|---|---|---|---|
| Callbacks | Moins lisible (Callback Hell) | Difficile | Difficile |
| Promesses | Améliorée | Confortable (.catch) | Confortable (.then, .catch) |
| async/await | La meilleure | Confortable (try...catch) | Confortable (await) |
La méthode la plus recommandée dans les applications modernes Node.js est d'utiliser async/await pour sa lisibilité et sa commodité. Les Promesses restent un outil important, surtout à un niveau d'implémentation inférieur. Les callbacks sont utilisés dans du code obsolète ou pour des opérations de bas niveau dans le noyau de Node.js.