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.