Pages

Objectif : comprendre ce code

 

  1. async function* getLines() {
  2.   const data = [
  3.     "# Commentaire ignoré",
  4.     "Ligne utile 1",
  5.     "Ligne utile 2",
  6.     "# Autre commentaire",
  7.     "STOP",
  8.     "Ligne après STOP",
  9.   ];

  10.   for (const line of data) {
  11.     await new Promise((resolve) => setTimeout(resolve, 100)); // simule un délai
  12.     yield line;
  13.   }
  14. }

  15. async function processUntilStop(lines) {
  16.   for await (const line of lines) {
  17.     if (line === "STOP") break;
  18.     if (line.startsWith("#")) continue;
  19.     console.log(`Traitement : ${line}`);
  20.   }
  21.   console.log("🔚 Fin du traitement.");
  22. }

  23. processUntilStop(getLines());