JavaScript'te Jeneratörler
Kendi yineleyicilerinizi oluşturabileceğiniz özel fonksiyonlar vardır. Bu tür fonksiyonlara jeneratörler denir. Bu fonksiyonların isimleri yıldız işareti ile başlamalıdır:
function *func() {
}
Jeneratörlerin içinde, yineleyicinin bir sonraki
çağrısında ne döndürmesi gerektiğini belirten
yield anahtar kelimesi kullanılır.
Örnek olarak, ilk çağrının 1 değerini,
ikincinin - 2 değerini,
ve üçüncünün - 3 değerini döndürmesini sağlayalım:
function *func() {
yield 1;
yield 2;
yield 3;
}
Jeneratör, sonucu olarak bir yineleyici döndürür:
let iter = func();
Yineleyicimizin çalışmasını kontrol edelim:
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}
Her çağrısında 5'ten
1'e kadar sayıları döndüren
bir yineleyici oluşturun.