Kuidas kasutada loetavaid vooge rakenduses Node.js?

Kuidas Kasutada Loetavaid Vooge Rakenduses Node Js



Andmed edastatakse võrgu kaudu saatja või allika ja sihtkoha või vastuvõtja poole vahel voogudena. Neid vooge saab luua ja kombineerida mitme meetodi kasutamisega ning heli- või videofaile saab ka voo kaudu edastada. Loetud andmeid saab sisestada teistesse sihitud failidesse, kasutades ' kirjuta () ” ja „ push () ” meetodid samuti.

See juhend selgitab loetavate voogude kasutamist failis Node.js.

Kuidas kasutada loetavaid vooge rakenduses Node.js?

' Loetav ' vood luuakse ' looReadStream() ” ja loetud andmeid saab seejärel kuvada veebilehel, luues kohaliku serveri. Ürituse kuulajad abiga “ peal() ” saab loetavatele voogudele lisada ka meetodeid, et kuvada sõnumeid või teha konkreetseid toiminguid, kui faili lugemine algab või lõpeb.







Vaadake praktilise demonstratsiooni näidet.



Näide: sisu lugemine ja kuvamine serveri kaudu loetavate voogude abil

Selles näites loetakse esitatud faili sisu ja kuvatakse seejärel veebibrauseris:



konst fsObj = nõuda ( 'fs' ) ;

konst httpObj = nõuda ( 'http' ) ;

konst kohalik server = httpObj. looServer ( ( taotlus, vastus ) => {

proovige {
// Lugemiseks sihitud fail
konst dataStream = fsObj. looReadStream ( 'usecase.txt' ) ;
// Viige fail vastuseks
dataStream. toru ( vastuseks ) ;
} püüda ( vead ) {
konsool. viga ( vead ) ;
}
} ) ;

kohalik server. kuulake ( 8080 , ( ) => {
konsool. logi ( 'Server töötab kohaliku hosti pordi numbril: '8080' )
} ) ;

Ülaltoodud koodi kirjeldus on järgmine:





  • Esmalt importige vajalik ' fs ” ja „ http ” mooduleid ja salvestada nende objektid fsObj ” ja „ httpObj ” muutujad.
  • Järgmisena loodi server, kutsudes esile ' looServer() ' meetodit ja salvestage see äsja loodud server ' kohalik server ” muutuja.
  • Seejärel kasutage ' proovige ' blokeerige meetodi tagasihelistamise funktsiooni sees ja käivitage ' looReadStream() ' meetodit kasutades ' fsObj ” muutuja.
  • Edastage sihitud faili sisu, mida tuleb lugeda selle meetodi sulgudes ja salvestage tulemus ' dataStream ” muutuja.
  • Sisestage ' dataStream ' muutuja ' .pipe() ” meetod vastuse saatmiseks.
  • Kasutage ' püüda ” plokk, et käsitleda ilmnenud tõrkeid.
  • Lõpuks kuulake või seadistage server pordi numbri kaudu ' 8080 ” ja kuvab oma tagasihelistamise funktsiooni abil eduteate.

Käivitage ülaltoodud koodi sisaldav fail (controlFlow.js), mis toimub alltoodud käsu kaudu:

sõlme juhtimineFlow. js

Loodud väljund näitab, et abiga ' .pipe() ” ja „ Loetav voog ”, failiandmed on loetud ja saadetud sihtkoha voogu, et kuvada veebilehel:



Näide 2: Staatiliste failide lokaalne lugemine ReadStreami abil

Sel juhul valitakse voo kohal pakutav fail ja selle sisu kuvatakse sündmusekuulajate abiga konsooliaknas:

konst fsObj = nõuda ( 'fs' ) ;

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

streamObj. peal ( 'andmed' , ( sisu ) => {

konsool. logi ( sisu. toString ( ) ) ;

} ) ;

streamObj. peal ( 'lõpp' , ( ) => {

konsool. logi ( ' \n Lõpetas faili lugemise.' ) ;

} ) ;

streamObj. toru ( protsessi. stdout ) ;

Ülaltoodud koodi kirjeldus on järgmine:

  • Esiteks, ' fs moodul imporditakse ja selle objekt salvestatakse fsObj ” muutuja.
  • Järgmisena kasutage ' fsObj ' kutsub esile ' looReadStream() ” meetodit ja edastab sihitud faili tee, mille sisu tuleb alla laadida. Salvestage meetodi tulemus uude muutujasse ' streamObj ”.
  • Kinnitage ' peal() ” meetod 'streamObj'-ga, mis kutsub tagasihelistamise funktsiooni, kui ' andmeid ” otsitakse alla. Otsitud andmed edastatakse tagasihelistamise funktsiooni parameetrina, mis teisendab andmed stringvormingusse ja kuvab need konsooli kaudu.
  • Lisage uuesti ' peal() ' meetod koos ' streamObj ” ja seekord kuvab selle tagasihelistamise funktsioon lõputeate, kui faili lugemine on lõppenud.

Pärast ülaltoodud koodi täitmist genereeritud väljund näitab, et lõputeate loetud andmed on kuvatud konsooli kohal:

See kõik puudutab loetavate voogude kasutamist failis Node.js.

Järeldus

Loetavate voogudega töötamiseks rakenduses Node.js kasutage meetodit ' looReadStream() ' kutsutakse välja '' kaudu fs ” mooduliobjekt. Sihitud failitee, millele sisu tuleb kirjutada, edastatakse seejärel meetodi parameetrina. Seda saab kasutada koos ' .pipe() ” meetod, et täita allalaaditud andmetega täiendavaid toiminguid, näiteks kirjutada sisu teise faili. See postitus on illustreerinud loetavate voogudega töötamise protseduuri.