Générateurs

Un générateur est un fonction qu'il est possible de quitter puis reprendre. Le contexte de la fonction est sauvegardé entre les reprises.

Il se déclare avec le mot clé function*.

Le mot clé yield permet de publier une valeur.

function* creerID(){
  var index = 0;
  while(index < 3){
    yield index++;
  }
}

// gen est un objet Generator.
// il possède les méthodes suivantes :
// * next() : récupère la valeur publiée par yield
// * return(): récupère la valeur publiée et termine le générateur
// * throw() : lève une exception et termine le générateur
var gen = creerID();

console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // undefined

Pour aller plus loin :

results matching ""

    No results matching ""