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.