Générateurs JavaScript : le bouton "Pause" pour votre code

DEV - 02/12
Si vous comprenez les fonctions JavaScript standard, vous connaissez la règle « Exécuter jusqu'à la fin ». Une fois normal...

Si vous comprenez les fonctions JavaScript standard, vous connaissez la règle « Exécuter jusqu'à la fin ». Une fois qu'une fonction normale démarre, rien ne peut l'arrêter jusqu'à ce qu'elle atteigne unretourou termine le bloc de code. C'est comme des montagnes russes : une fois le harnais verrouillé, vous êtes en route jusqu'au bout.

Les générateurs enfreignent cette règle.

Les générateurs sont des fonctions qui peuvent s'arrêter au milieu de l'exécution, laisser d'autres codes s'exécuter, puis reprendre exactement là où ils s'étaient arrêtés, en se souvenant de toutes leurs variables.

Ils transforment votre fonction de Rollercoaster en série Netflix : vous pouvez regarder 10 minutes, la mettre en pause, aller préparer un sandwich et revenir exactement à la même seconde où vous êtes parti.

1. La syntaxe : astérisques et rendements

Pour créer un générateur, vous utilisez deux éléments de syntaxe spéciaux :

  1. fonction*: L'astérisque indique à JS "Ceci est un générateur."
  2. rendement: C'est le bouton "Pause".
function* monGénérateur() { console.log("1. Démarrage..."); donne « Première pause » ; // <--- Fait une pause ici et crache "Première pause" console.log("2. Resuming..."); donner « Deuxième pause » ; // <--- Fait une pause ici et crache "Deuxième pause" console.log("3...
[Courte citation de 8% de l'article original]
Loading...