Sobes.tech
Middle

Kako funkcionišu generatori u JavaScript-u u poređenju sa običnim funkcijama?

sobes.tech АИ

Одговор од АИ

Generatori u JavaScript-u su funkcije koje mogu da pauziraju svoje izvršenje i da vraćaju međuvrednosti pomoću ključne reči yield. Za razliku od običnih funkcija, koje se izvršavaju u potpunosti i vraćaju jednu vrednost, generatori omogućavaju kreiranje iteratora sa lenjom generacijom vrednosti.

Primer generatora:

function* countUpTo(max) {
  let count = 1;
  while (count <= max) {
    yield count; // pauzira izvršenje i vraća vrednost
    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

Dakle, generatori su korisni za rad sa nizovima podataka koji ne moraju biti odmah u potpunosti izračunati.