Heim > Artikel > Web-Frontend > Wozu dient der Generator in es6?
In ES6 wird der Generator zum Kapseln asynchroner Aufgaben verwendet. Es handelt sich um einen Container für asynchrone Aufgaben, der es ermöglicht, die Funktion zu einem bestimmten Zeitpunkt auszuführen oder anzuhalten. Bei der Definition dieser Funktion steht ein Sternchen (*). Schlüsselwort und der Funktionsname. ), die Syntax ist „function *name(){..yield..}“.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.
Generator ist hauptsächlich asynchrone Programmierung. Er wird zum Kapseln asynchroner Aufgaben verwendet und ermöglicht die Ausführung oder Pause von Funktionen zu dem von uns angegebenen Zeitpunkt.
Der Unterschied zwischen der Definition einer Generatorfunktion und der Definition einer gewöhnlichen Funktion ist:
Zwischen dem Funktionsschlüsselwort und dem Funktionsnamen steht ein * (Sternchen).
Yield wird innerhalb der Funktion verwendet, um den internen Zustand jeder Funktion zu definieren.
Wenn innerhalb der Funktion eine Return-Anweisung vorhanden ist, handelt es sich um den letzten Zustand innerhalb der Funktion.
Verwenden Sie die Syntax:
function *name(){ ... yield; //需要暂停的时候加yield ... yield; ... } const p = name(); p.next() //调用函数,执行到第一个yield处停止 p.next() //从上一个yeild开始执行,到下一个yield处为止
Schauen wir uns ein einfaches Beispiel an:
// 定义 function* sayHello() { yield 'hello'; yield 'world'; return 'ending'; } // 调用 // 注意,hw获取到的值是一个遍历器对象 let g = sayHello();
Das obige Beispiel definiert eine Generatorfunktion namens sayHello, die zwei Ertragsausdrücke und einen Rückgabeausdruck enthält. Daher gibt es innerhalb der Funktion drei Zustände: Hallo, Welt und Rückgabeanweisung (Ausführung beenden). Rufen Sie abschließend diese Funktion auf, um ein Traverser-Objekt abzurufen und es der Variablen g zuzuweisen.
Die Aufrufmethode der Generatorfunktion ist genau die gleiche wie die der normalen Funktion, Funktionsname (). Der Unterschied ist:
Nach dem Funktionsaufruf wird der interne Code (beginnend mit der ersten Zeile) nicht sofort ausgeführt.
Nach dem Aufruf der Funktion gibt es einen Rückgabewert. Dieser Wert ist ein Zeigerobjekt, das auf den internen Status zeigt. Es handelt sich im Wesentlichen um ein Traverserobjekt, das den internen Status der Funktion enthält.
【Verwandte Empfehlungen: Javascript-Video-Tutorial, Web-Frontend】
Das obige ist der detaillierte Inhalt vonWozu dient der Generator in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!