Aller au contenu

Programmation JavaScript/Générateurs

Un livre de Wikilivres.

Apparus en JS avec ES6 en 2013, les générateurs permettent de retourner un grand volume de données sans surcharger la rame, en la découpant en petits paquets.

En deux mots, on les utilise en remplaçant return par yield. Mais il faut aussi créer une fonction générateur, annotée avec un astérisque[1], pour suivre le patron de conception "Itérateur".

function* fourInts() {
  let int = 0;
  while (int < 4) {
    yield int;
    int++;
  }
}

const gen = fourInts();   // création
alert(gen.next().value);  // 0
alert(gen.next().value);  // 1
alert(gen.next().value);  // 2
alert(gen.next().value);  // 3
alert(gen.next().value);  // undefined