Kako koristiti čitljive tokove u Node.js?

Kako Koristiti Citljive Tokove U Node Js



Podaci se prenose mrežom između pošiljatelja ili izvora i odredišne ​​ili primateljske strane u obliku tokova. Ti se tokovi mogu stvoriti i kombinirati korištenjem nekoliko metoda, a audio ili video datoteke također se mogu proslijediti preko toka. Pročitani podaci mogu se umetnuti u druge ciljane datoteke pomoću ' pisati() ' i ' gurnuti() ” metode također.

Ovaj će vodič objasniti korištenje čitljivih tokova u Node.js.

Kako koristiti čitljive tokove u Node.js?

' Čitljiv ' streamovi se stvaraju pozivanjem ' createReadStream() ”, a očitani podaci zatim se mogu prikazati preko web stranice stvaranjem lokalnog poslužitelja. Slušatelji događaja uz pomoć “ na() ” metode se također mogu priložiti čitljivim tokovima za prikaz poruka ili izvođenje određenih radnji kada čitanje datoteke započne ili završi.







Pogledajte primjer za praktičnu demonstraciju.



Primjer: čitanje i prikazivanje sadržaja preko poslužitelja pomoću čitljivih tokova

U ovom primjeru, sadržaj dostavljene datoteke se čita i zatim prikazuje preko web preglednika:



konst fsObj = zahtijevati ( 'fs' ) ;

konst httpObj = zahtijevati ( 'http' ) ;

konst lokalni poslužitelj = httpObj. createServer ( ( zahtjev, odgovor ) => {

probati {
// Ciljana datoteka za čitanje
konst dataStream = fsObj. createReadStream ( 'usecase.txt' ) ;
// Prebaci datoteku na odgovor
dataStream. cijev ( odgovor ) ;
} ulov ( pogreške ) {
konzola. greška ( pogreške ) ;
}
} ) ;

lokalni poslužitelj. slušati ( 8080 , ( ) => {
konzola. log ( 'Poslužitelj radi na Localhost priključku broj: '8080'' )
} ) ;

Opis gornjeg koda je sljedeći:





  • Prvo uvezite potrebne ' fs ' i ' http ' modula i pohranjuju njihove objekte u ' fsObj ' i ' httpObj ” varijabli.
  • Zatim, poslužitelj je kreiran pozivanjem ' kreiraj poslužitelj() ' metoda i pohranjivanje ovog novostvorenog poslužitelja u ' lokalni poslužitelj ” varijabla.
  • Zatim upotrijebite ' probati ' unutar funkcije povratnog poziva metode i pozovite ' createReadStream() ' metodom pomoću ' fsObj ” varijabla.
  • Proslijedite ciljani sadržaj datoteke koji se treba pročitati unutar ove zagrade metode i pohranite rezultat u ' dataStream ” varijabla.
  • Umetnite ' dataStream ' varijablu u ' .cijev() ” za slanje odgovora.
  • Iskoristite ' ulov ” blok za obradu eventualnih pogrešaka.
  • Na kraju, poslušajte ili postavite poslužitelj preko broja priključka ' 8080 ” i prikazati poruku o uspjehu uz pomoć svoje funkcije povratnog poziva.

Izvršite datoteku koja sadrži (controlFlow.js) gornjeg koda putem dolje navedene naredbe:

kontrola protoka čvora. js

Generirani izlaz pokazuje da uz pomoć ' .cijev() ' i ' Čitljiv tok ”, podaci datoteke su pročitani i poslani u odredišni tok za prikaz na web stranici:



Primjer 2: Lokalno čitanje statičkih datoteka pomoću ReadStreama

U ovom slučaju odabrana je navedena datoteka u streamu i njezin se sadržaj zatim prikazuje preko prozora konzole uz pomoć slušatelja događaja:

konst fsObj = zahtijevati ( 'fs' ) ;

konst streamObj = fsObj. createReadStream ( 'usecase.txt' ) ;

streamObj. na ( 'podaci' , ( sadržaj ) => {

konzola. log ( sadržaj. toString ( ) ) ;

} ) ;

streamObj. na ( 'kraj' , ( ) => {

konzola. log ( ' \n Završeno čitanje datoteke.' ) ;

} ) ;

streamObj. cijev ( postupak. stdout ) ;

Opis gornjeg koda je sljedeći:

  • Prvo, ' fs ' modul se uvozi i njegov objekt se pohranjuje u ' fsObj ” varijabla.
  • Zatim, koristeći ' fsObj ' poziva ' createReadStream() ” i prosljeđuje putanju ciljane datoteke čiji sadržaj treba dohvatiti. Pohranite rezultat metode u novu varijablu “ streamObj ”.
  • Priložite ' na() ' s 'streamObj' koja poziva funkciju povratnog poziva kada ' podaci ” je preuzeto. Dohvaćeni podaci prosljeđuju se kao parametar za funkciju povratnog poziva koja pretvara podatke u format niza i prikazuje ih preko konzole.
  • Ponovno priložite ' na() ' metoda s ' streamObj ” i ovaj put njegova funkcija povratnog poziva prikazuje završnu poruku kada se završi čitanje datoteke.

Generirani izlaz nakon izvršavanja gornjeg koda pokazuje da su pročitani podaci uz završnu poruku prikazani preko konzole:

To je sve o korištenju čitljivih tokova u Node.js.

Zaključak

Za rad s čitljivim tokovima u Node.js, metoda ' createReadStream() ” se poziva putem „ fs ” objekt modula. Ciljana staza datoteke na koju se sadržaj treba napisati zatim se prosljeđuje kao parametar metode. Može se koristiti s ' .cijev() ” za izvođenje daljnjih zadataka nad dohvaćenim podacima poput pisanja sadržaja u drugu datoteku. Ovaj post je ilustrirao postupak rada s čitljivim tokovima.