Sobes.tech
Junior

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.