Junior — Middle
Kunt u een situatie beschrijven waarin u een generator in uw werk hebt gebruikt?
sobes.tech AI
Antwoord van AI
In Node.js heb ik generators gebruikt om asynchrone code te beheren voordat async/await beschikbaar kwam. Generators maken het mogelijk om de uitvoering van een functie te pauzeren en later weer te hervatten, wat handig is voor het sequentieel uitvoeren van asynchrone operaties.
Bijvoorbeeld, met een generator kun je code schrijven die een bestand leest, vervolgens de gegevens verwerkt, zonder in de "callback hel" te belanden:
const fs = require('fs');
function* readFileGenerator() {
const data = yield fs.promises.readFile('file.txt', 'utf8');
console.log('Inhoud van het bestand:', data);
}
const gen = readFileGenerator();
const promise = gen.next().value;
promise.then(data => gen.next(data));
Hoewel tegenwoordig async/await meer wordt gebruikt, helpt het begrijpen van generators om de mechanismen van asynchronie beter te begrijpen.