Sobes.tech
Junior — Middle

El tudná mesélni egy olyan esetről, amikor munkája során generátort használt?

sobes.tech MI

Válasz az MI-től

Node.js-ben generátorokat használtam az aszinkron kód kezelésére az async/await megjelenése előtt. A generátorok lehetővé teszik egy függvény végrehajtásának szüneteltetését és későbbi folytatását, ami kényelmes az aszinkron műveletek szekvenciális végrehajtásához.

Például egy generátor segítségével írhatunk olyan kódot, amely olvas egy fájlt, majd feldolgozza az adatokat, anélkül, hogy a "callback pokolba" esne:

const fs = require('fs');

function* readFileGenerator() {
  const data = yield fs.promises.readFile('file.txt', 'utf8');
  console.log('Fájl tartalma:', data);
}

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

Bár manapság gyakrabban használják az async/await-et, a generátorok megértése segít jobban megérteni az aszinkronitás mechanizmusait.