Generator di JavaScript
Ada fungsi khusus yang dapat digunakan untuk membuat iterator kita sendiri. Fungsi seperti ini disebut generator. Nama fungsi tersebut harus diawali dengan tanda bintang:
function *func() {
}
Di dalam generator, kata kunci
yield digunakan, yang menunjukkan
apa yang harus dikembalikan oleh iterator pada
pemanggilan berikutnya. Sebagai contoh
mari kita buat agar pemanggilan pertama
mengembalikan 1, kedua - 2,
dan ketiga - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
Generator mengembalikan iterator sebagai hasilnya:
let iter = func();
Mari kita periksa kerja iterator kita:
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}
Buatlah iterator, yang setiap pemanggilannya
akan mengembalikan angka dari 5
hingga 1.