Генератары ў JavaScript
Існуюць спецыяльныя функцыі, з дапамогай якіх можна ствараць свае ітэратары. Такія функцыі называюцца генератары. Імёны такіх функцый павінны пачынацца са зорачкі:
function *func() {
}
Унутры генератараў выкарыстоўваецца ключавое
слова yield, якое паказвае на тое,
што павінен вярнуць ітэратар на
наступным выкліку. Для прыкладу
давайце зробім так, каб першы
выклік вяртаў 1, другі - 2,
а трэці - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
Генератар сваім вынікам вяртае ітэратар:
let iter = func();
Давайце праверым працу нашага ітэратара:
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}
Стварыце ітэратар, кожны выклік якога
будзе вяртаць лікі ад 5
да 1.