Das yield-Schlüsselwort in JavaScript
In diesem Artikel wird die Verwendung des Schlüsselworts yield in der Generatorfunktion und der Zweck erläutert. An einem JavaScript-Beispiel werden wir die Funktionalität und Verwendung des Schlüsselworts yield ausführen.
Verwenden Sie das Schlüsselwort yield in JavaScript
    
In JavaScript können wir keine yield-Ausdrücke in Callbacks oder verschachtelten Funktionen verwenden. Wir verwenden das Schlüsselwort yield, um die Generatorfunktionen asynchron anzuhalten und fortzusetzen.
Die Anweisung yield gibt ein Objekt zurück, das zwei Eigenschaften enthält, value und done.
- 
value: Diese Eigenschaft enthält einen tatsächlichen Wert, der an die Generatorfunktion übergeben wird. - 
done: Diese Eigenschaft enthält einen booleschen Wert. Wenn eine Generatorfunktion vollständig abgeschlossen ist, gibt sie true zurück; andernfalls falsch. - 
Generatorfunktion: Um eine Funktion in einen Generator umzuwandeln, müssen wir das Sternsymbol (
*) mit dem Schlüsselwortfunctionhinzufügen. In JavaScript ähnelt die Generatorfunktion der normalen Funktion.Wir verwenden das Schlüsselwort
yield, um einen beliebigenvaluezurückzugeben. Wenn wir die Ausführung der Generatorfunktion pausieren wollen, müssen wir denyield-Ausdruck verwenden.Wenn wir die Ausführung wieder fortsetzen möchten, müssen wir die Methode
next()aufrufen. Die Funktion wird so lange ausgeführt, bis sie die Anweisungyieldoderreturnfindet.Beim erneuten Aufruf der Generatorfunktion wird die Implementierung ab dem letzten
yield-Ausdruck fortgesetzt. 
Hier erstellen wir ein Beispiel zum Generieren einer Funktion und verwenden das Schlüsselwort yield, um die Ausführung anzuhalten.
Beispielcode:
<script>
function* testGenerator(i) {
    while (i < 5) {
        yield i++;
    }
}
//creating an object with our function testGenerator
const test = testGenerator(2);
//return object with 2 value is passed to the testGenerator yield expression
console.log(test.next());
//return object with 3 value.
console.log(test.next());
//return object with 4 value
console.log(test.next());
</script>
Ausgang:
            [object Object] {
            done: false,
            value: 2
            }
            [object Object] {
            done: false,
            value: 3
            }
            [object Object] {
            done: false,
            value: 4
            }
Die Generatorfunktion testGenerator() haben wir im obigen JavaScript-Quellcode mit einem Sternchen-Symbol (*) deklariert. Wir haben eine while-Schleife verwendet, um die Ausführung mit dem Schlüsselwort yield innerhalb der Funktion anzuhalten.
Dann haben wir mit unserer Generatorfunktion ein Objekt test erstellt und den Wert 2 übergeben. In console.log haben wir das Funktionsobjekt test und die Methode next() aufgerufen.
Sie können die zurückgegebenen Objekte und den Ausführungsablauf im Protokollfeld des Compilers sehen.