
Back to Basics : function*
Dans ce Back to Basics, on revient sur ce qu'est une fonction génératrice !
Article archivé
Dans ce Back to Basics, on revient sur ce qu'est une fonction génératrice !
function* est une fonction génératrice qui retourne un objet Générateur. Les générateurs sont étroitement liés aux itérateurs.
Mais qu'est-ce qu'une fonction génératrice ? C'est une fonction qui peut s'arrêter en cours d'exécution et reprendre là où elle s'est arrêtée !
function* exempleDeGenerateur() {
let compteur = 0;
yield `Première étape ! ${compteur}`;
compteur++;
yield `Deuxième étape ! ${compteur}`;
compteur++;
console.log('Aucun yield, la fonction est terminée');
}
const generateur = exempleDeGenerateur();
console.log(generateur.next().value); // Première étape ! 1
console.log(generateur.next().value); // Deuxième étape ! 2
console.log(generateur.next().value); // Aucun yield, la fonction est terminée
L'objet Générateur offre une fonction next() que vous pouvez appeler pour aller plus loin dans la prochaine étape du générateur.
Vous pouvez consulter MDN pour plus d'informations.
C'est tout, faites-en bon usage !
