Sobes.tech
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.