Generatori u JavaScript-u
Postoje posebne funkcije pomoću kojih možete da kreirate sopstvene iteratore. Takve funkcije se zovu generatori. Imena ovih funkcija moraju da počnu zvezdicom:
function *func() {
}
Unutar generatora koristi se ključna
reč yield koja označava šta
iterator treba da vrati pri
sledećem pozivu. Na primer,
hajde da postavimo da prvi
poziv vrati 1, drugi - 2,
a treći - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
Generator kao svoj rezultat vraća iterator:
let iter = func();
Hajde da proverimo rad našeg iteratora:
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}
Kreirajte iterator čiji će svaki poziv
vraćati brojeve od 5
do 1.