Junior — Middle
İşinizdə generator istifadə etdiyiniz bir vəziyyəti danışa bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Node.js-də, async/await-in yaranmasından əvvəl asinxron kodu idarə etmək üçün generatorlardan istifadə etdim. Generatorlar funksiyanın icrasını dayandırmağa və sonra davam etdirməyə imkan verir, bu da ardıcıl olaraq asinxron əməliyyatların yerinə yetirilməsi üçün əlverişlidir.
Məsələn, generator vasitəsilə fayl oxuyan, sonra məlumatları işləyən və "callback cəhənnəvi"ndən qaçan kod yaza bilərsiniz:
const fs = require('fs');
function* readFileGenerator() {
const data = yield fs.promises.readFile('file.txt', 'utf8');
console.log('Faylın məzmunu:', data);
}
const gen = readFileGenerator();
const promise = gen.next().value;
promise.then(data => gen.next(data));
İndiyə qədər async/await daha çox istifadə olunsa da, generatorların anlaşılması asinxronluğun mexanizmlərini daha yaxşı başa düşməyə kömək edir.