Как да използвам четливи потоци в Node.js?

Kak Da Izpolzvam Cetlivi Potoci V Node Js



Данните се прехвърлят по мрежата между подателя или източника и страната на местоназначението или получателя под формата на потоци. Тези потоци могат да бъдат създадени и комбинирани с използването на няколко метода, а аудио или видео файловете също могат да бъдат предавани през потока. Прочетените данни могат да бъдат вмъкнати в други целеви файлове с помощта на „ пиши() ' и ' натиснете () ” методи също.

Това ръководство ще обясни използването на четливи потоци в Node.js.

Как да използвам четливи потоци в Node.js?

Четиво ' потоците се създават чрез извикване на ' createReadStream() ” и прочетените данни след това могат да бъдат показани на уеб страницата чрез създаване на локален сървър. Слушателите на събитието с помощта на „ На() ” методи също могат да бъдат прикачени към четливите потоци за показване на съобщения или извършване на конкретни действия, когато четенето на файла започне или приключи.







Разгледайте примера за практическа демонстрация.



Пример: Четене и показване на съдържание през сървър с помощта на четими потоци

В този пример съдържанието на даден файл се чете и след това се показва в уеб браузъра:



конст fsObj = изискват ( 'fs' ) ;

конст httpObj = изискват ( 'http' ) ;

конст локален сървър = httpObj. createServer ( ( молба, отговор ) => {

опитвам {
// Целеви файл за четене
конст dataStream = fsObj. createReadStream ( 'usecase.txt' ) ;
// Прехвърляне на файла към отговор
dataStream. тръба ( отговор ) ;
} улов ( грешки ) {
конзола. грешка ( грешки ) ;
}
} ) ;

локален сървър. слушам ( 8080 , ( ) => {
конзола. дневник ( „Сървърът работи на номер на порт на локален хост: „8080““ )
} ) ;

Описанието на горния код е както следва:





  • Първо импортирайте необходимите „ fs ' и ' http ” модули и съхранява техните обекти в „ fsObj ' и ' httpObj ” съответно променливи.
  • След това сървърът е създаден чрез извикване на „ createServer() ” и съхраняване на този новосъздаден сървър в „ локален сървър ” променлива.
  • След това използвайте „ опитвам ” блок във функцията за обратно извикване на метода и извикване на „ createReadStream() ' метод с помощта на ' fsObj ” променлива.
  • Предайте съдържанието на целевия файл, което трябва да бъде прочетено, в тази скоба на метода и съхранете резултата в „ dataStream ” променлива.
  • Вмъкнете „ dataStream ” променлива в „ .тръба() ” за изпращане на отговора.
  • Използвайте „ улов ” за обработка на всички възникнали грешки.
  • Накрая слушайте или настройте сървъра през номера на порта ' 8080 ” и показва съобщението за успех с помощта на неговата функция за обратно извикване.

Изпълнете съдържащия файл (controlFlow.js) на горния код, който е чрез посочената по-долу команда:

възел controlFlow. js

Генерираният изход показва, че с помощта на „ .тръба() ' и ' Четим поток ”, данните за файла са прочетени и изпратени до целевия поток за показване на уеб страницата:



Пример 2: Четене на статични файлове локално с помощта на ReadStream

В този случай предоставеният файл в потока е избран и съдържанието му след това се показва в прозореца на конзолата с помощта на слушатели на събития:

конст fsObj = изискват ( 'fs' ) ;

конст streamObj = fsObj. createReadStream ( 'usecase.txt' ) ;

streamObj. На ( 'данни' , ( съдържание ) => {

конзола. дневник ( съдържание. toString ( ) ) ;

} ) ;

streamObj. На ( 'край' , ( ) => {

конзола. дневник ( ' Завърших четенето на файла.' ) ;

} ) ;

streamObj. тръба ( процес. стандартен изход ) ;

Описанието на горния код е както следва:

  • Първо, „ fs ” се импортира и обектът му се съхранява в „ fsObj ” променлива.
  • След това, използвайки „ fsObj ' извиква ' createReadStream() ” и предава пътя на целевия файл, чието съдържание трябва да бъде извлечено. Съхранявайте резултата от метода в нова променлива ' streamObj ”.
  • Прикрепете „ На() ' с 'streamObj', който извиква функция за обратно извикване, когато ' данни ” се извлича. Извлечените данни се предават като параметър за функцията за обратно извикване, която преобразува данните във формат String и ги показва на конзолата.
  • Отново прикрепете „ На() ' метод с ' streamObj ” и този път неговата функция за обратно извикване показва съобщение за край, когато четенето на файла приключи.

Генерираният изход след изпълнението на горния код показва, че прочетените данни по крайното съобщение са показани на конзолата:

Това е всичко относно използването на четливи потоци в Node.js.

Заключение

За да работите с четливи потоци в Node.js, методът на „ createReadStream() ” се извиква чрез „ fs ” модулен обект. Целевият път на файла, върху който съдържанието трябва да бъде записано, след това се предава като параметър на метода. Може да се използва с „ .тръба() ” за извършване на допълнителни задачи върху извлечените данни, като например запис на съдържанието в друг файл. Тази публикация илюстрира процедурата за работа с четливи потоци.