Programmation JavaScript/Générateurs
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".
Exemple
modifierfunction* 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