Middle
Kaip veikia generatoriai JavaScript, palyginti su įprastomis funkcijomis?
sobes.tech AI
Atsakymas iš AI
„JavaScript“ generatoriai yra funkcijos, kurios gali laikinai sustabdyti savo vykdymą ir grąžinti tarpinę reikšmę naudojant raktinį žodį yield. Skirtingai nuo įprastų funkcijų, kurios vykdomos visiškai ir grąžina vieną reikšmę, generatoriai leidžia kurti iteratorius su tingiu reikšmių generavimu.
Generatoriaus pavyzdys:
function* countUpTo(max) {
let count = 1;
while (count <= max) {
yield count; // sustabdo vykdymą ir grąžina reikšmę
count++;
}
}
const counter = countUpTo(3);
console.log(counter.next().value); // 1
console.log(counter.next().value); // 2
console.log(counter.next().value); // 3
console.log(counter.next().done); // true
Taigi, generatoriai yra naudingi dirbant su duomenų sekomis, kurios nėra būtina iš karto visiškai apskaičiuoti.