Sobes.tech
Junior — Middle

Можете ли објаснити шта је ток података (Stream) у Node.js и како се користи?

sobes.tech АИ

Одговор од АИ

U Node.js, tok podataka (Stream) je apstrakcija za rad sa sekvencijalnim podacima koji dolaze ili se šalju delovima, a ne celokupni. Ovo omogućava efikasnu obradu velikih količina podataka bez potrebe da ih u potpunosti učitavate u memoriju.

Postoje četiri osnovna tipa tokova:

  • Readable (čitljivi): tokovi iz kojih se mogu čitati podaci (npr. čitanje fajla).
  • Writable (zapisivi): tokovi u koje se mogu zapisivati podaci (npr. zapis u fajl).
  • Duplex: tokovi koji mogu i da čitaju i da pišu (npr. mrežni soketi).
  • Transform: varijanta Duplex-a koja može menjati podatke na putu (npr. kompresija).

Primer korišćenja čitljivog toka za čitanje fajla i zapis njegovog sadržaja u drugi fajl:

const fs = require('fs');

const readable = fs.createReadStream('input.txt');
const writable = fs.createWriteStream('output.txt');

readable.pipe(writable);

Metod pipe() automatski prenosi podatke iz jednog toka u drugi, što pojednostavljuje rad sa tokovima i povećava performanse pri obradi velikih količina podataka.