Heim > Web-Frontend > js-Tutorial > Was ist eine Generatorfunktion in JavaScript? und wie funktioniert es?

Was ist eine Generatorfunktion in JavaScript? und wie funktioniert es?

Linda Hamilton
Freigeben: 2024-12-31 18:47:11
Original
500 Leute haben es durchsucht

What is generator function in JavaScript? and How does it work?

Eine Generatorfunktion in JavaScript ist eine spezielle Art von Funktion, die während ihrer Ausführung angehalten und fortgesetzt werden kann. Es wird mithilfe der Function*-Syntax definiert und verwendet das Schlüsselwort yield, um Werte sequentiell zu erzeugen.

Hauptmerkmale der Generatorfunktion

  1. Definieren Sie mit Funktion*:
function* generatorFunction(){
  yield 1;
  yield 2;
  yield 3;
  yield 4; 
}
Nach dem Login kopieren

2.Gibt einen Iterator zurück

  • Wenn eine Generatorfunktion aufgerufen wird, wird sie nicht sofort ausgeführt. Stattdessen wird ein Iteratorobjekt zurückgegeben.
  • Der Iterator verfügt über eine next()-Methode, die zur Steuerung des verwendet wird Ausführung.
    1. Ertragsschlüsselwort:
  • Das yieldkeyword wird verwendet, um einen Wert zu erzeugen und den Generator anzuhalten.
  • Wenn next() erneut aufgerufen wird, nimmt der Generator die Ausführung ab dem wieder auf Punkt, an dem es angehalten wurde.

Beispiel einer Generatorfunktion:

function* generatorFunction(){
   console.log("start");
   yield 1;
   console.log("Resume");
   yield 2; 
   console.log("End");

}
const gen = generatorFuntion();
console.log(gen.next());
console.log(gen.next());
console.log(gen.next());
Nach dem Login kopieren

Ausgabe

start 
{value: 1, done: false}
Resume
{value: 2, done: false}
End
{Value: undefined, done: true}
Nach dem Login kopieren

Wie es funktioniert

  1. Ausführung bei next():
    • Wenn next() zum ersten Mal aufgerufen wird, startet der Generator Ausführung und läuft bis zur ersten Ausbeute.
    • es gibt ein Objekt {value, done} zurück, wobei:
      • value: Der durch yield erzeugte Wert.
      • done: Ein boolescher Wert, der angibt, ob der Generator abgeschlossen ist
  2. Pause und Fortfahren.
    • Die Funktion unterbricht die Ausführung, wenn sie auf yield trifft.
    • Es wird von der Pause fortgesetzt, wenn next() erneut aufgerufen wird.
  3. Abschluss:
    • Wenn die Generatorfunktion abgeschlossen ist, wird die Eigenschaft done wahr.

Das obige ist der detaillierte Inhalt vonWas ist eine Generatorfunktion in JavaScript? und wie funktioniert es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage