Sobes.tech
Junior — Middle

Pourriez-vous raconter un cas où vous avez utilisé un générateur dans votre travail?

sobes.tech IA

Réponse de l'IA

Dans Node.js, j'ai utilisé des générateurs pour gérer le code asynchrone avant l'apparition de async/await. Les générateurs permettent de suspendre l'exécution d'une fonction et de la reprendre plus tard, ce qui est pratique pour exécuter des opérations asynchrones de manière séquentielle.

Par exemple, avec un générateur, on peut écrire un code qui lit un fichier, puis traite les données, sans tomber dans l'"enfer des callbacks" :

const fs = require('fs');

function* readFileGenerator() {
  const data = yield fs.promises.readFile('file.txt', 'utf8');
  console.log('Contenu du fichier :', data);
}

const gen = readFileGenerator();
const promise = gen.next().value;
promise.then(data => gen.next(data));

Bien que l'utilisation d'async/await soit maintenant plus courante, comprendre les générateurs aide à mieux comprendre les mécanismes de l'asynchronie.