Sobes.tech
Junior — Middle

Можете ли да нам испричате случај када сте користили генератор у свом раду?

sobes.tech АИ

Одговор од АИ

U Node.js-u sam koristio generatore za upravljanje asinhronim kodom pre pojave async/await. Generatori omogućavaju da se izvršavanje funkcije pauzira i kasnije nastavi, što je zgodno za sekvencijalno izvršavanje asinhronih operacija.

Na primer, pomoću generatora možete napisati kod koji čita fajl, zatim obrađuje podatke, izbegavajući "pakao callbackova":

const fs = require('fs');

function* readFileGenerator() {
  const data = yield fs.promises.readFile('file.txt', 'utf8');
  console.log('Sadržaj fajla:', data);
}

const gen = readFileGenerator();
const promise = gen.next().value;
promise.then(data => gen.next(data));

Iako se sada češće koristi async/await, razumevanje generatora pomaže da se bolje shvate mehanizmi asinhronosti.