Generatoren in JavaScript
Es gibt spezielle Funktionen, mit denen man seine eigenen Iteratoren erstellen kann. Solche Funktionen werden Generatoren genannt. Die Namen dieser Funktionen müssen mit einem Sternchen beginnen:
function *func() {
}
Innerhalb von Generatoren wird das Schlüsselwort
yield verwendet, das angibt,
was der Iterator beim
nächsten Aufruf zurückgeben soll. Als Beispiel
lasst uns so gestalten, dass der erste
Aufruf 1 zurückgibt, der zweite - 2,
und der dritte - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
Der Generator gibt als Ergebnis einen Iterator zurück:
let iter = func();
Lasst uns die Funktion unseres Iterators überprüfen:
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Erstellen Sie einen Iterator, dessen jeder Aufruf
die Zahlen von 5
bis 1 zurückgibt.