Junior — Middle
İşinizde bir jeneratör kullandığınız bir durumu anlatabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Node.js'te, async/await'in ortaya çıkmasından önce asenkron kodu yönetmek için jeneratörler kullandım. Jeneratörler, bir fonksiyonun yürütülmesini duraklatıp daha sonra devam ettirmeye olanak tanır, bu da asenkron işlemleri sıralı şekilde yapmayı kolaylaştırır.
Örneğin, bir dosyayı okuyan, sonra verileri işleyen ve "callback cehennesi"ne düşmeden kod yazmak için jeneratör kullanılabilir:
const fs = require('fs');
function* readFileGenerator() {
const data = yield fs.promises.readFile('file.txt', 'utf8');
console.log('Dosya içeriği:', data);
}
const gen = readFileGenerator();
const promise = gen.next().value;
promise.then(data => gen.next(data));
Şu anda genellikle async/await kullanılsa da, jeneratörleri anlamak, asenkron mekanizmalarını daha iyi kavramaya yardımcı olur.