Како користити читљиве токове у Ноде.јс?

Kako Koristiti Citlive Tokove U Node Js



Подаци се преносе преко мреже између пошиљаоца или извора и одредишта или примаоца у облику токова. Ови токови се могу креирати и комбиновати уз коришћење неколико метода, а аудио или видео датотеке се такође могу пренети преко тока. Прочитани подаци се могу уметнути у друге циљане датотеке помоћу „ напиши() ' и ' пусх() ” такође методе.

Овај водич ће објаснити употребу читљивих стримова у Ноде.јс.

Како користити читљиве токове у Ноде.јс?

Читљиво ” токови се креирају позивањем „ цреатеРеадСтреам() ” и прочитани подаци се затим могу приказати на веб страници креирањем локалног сервера. Слушаоци догађаја уз помоћ „ на() ” методе такође могу бити приложене читљивим токовима да би се приказале поруке или извршиле одређене радње када читање датотеке почне или се заврши.







Погледајте пример за практичну демонстрацију.



Пример: Читање и приказивање садржаја преко сервера помоћу читљивих токова

У овом примеру, садржај дате датотеке се чита и затим приказује преко веб претраживача:



конст фсОбј = захтевају ( 'фс' ) ;

конст хттпОбј = захтевају ( 'хттп' ) ;

конст лоцалСервер = хттпОбј. цреатеСервер ( ( захтев, одговор ) => {

покушати {
// Циљана датотека за читање
конст ток података = фсОбј. цреатеРеадСтреам ( 'усецасе.ткт' ) ;
// Пренесите датотеку у одговор
ток података. цев ( одговор ) ;
} улов ( грешке ) {
конзола. грешка ( грешке ) ;
}
} ) ;

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

Опис горњег кода је следећи:





  • Прво, увезите потребне „ фс ' и ' хттп ” модуле и чувају њихове објекте у “ фсОбј ' и ' хттпОбј ” променљиве респективно.
  • Затим, сервер је креиран позивањем „ цреатеСервер() ” метод и чување овог новокреираног сервера у „ лоцалСервер ' променљива.
  • Затим користите „ покушати ” блок унутар функције повратног позива метода и позовите „ цреатеРеадСтреам() ” метод који користи „ фсОбј ' променљива.
  • Проследите садржај циљане датотеке који треба да се прочита унутар заграда ове методе и сачувајте резултат у „ ток података ' променљива.
  • Уметните „ ток података ” променљиву у „ .цев() ” за слање одговора.
  • Користите „ улов ” блок за руковање евентуалним грешкама.
  • Коначно, слушајте или подесите сервер преко броја порта “ 8080 ” и прикажите поруку о успеху уз помоћ функције повратног позива.

Извршите датотеку која садржи (цонтролФлов.јс) горњег кода преко доле наведене команде:

чвор цонтролФлов. јс

Генерисани излаз показује да уз помоћ „ .цев() ' и ' Реадабле Стреам “, подаци о датотеци су прочитани и послати у одредишни ток да би се приказали на веб страници:



Пример 2: Локално читање статичких датотека помоћу РеадСтреам-а

У овом случају, изабрана је дата датотека преко тока и њен садржај се затим приказује преко прозора конзоле уз помоћ слушалаца догађаја:

конст фсОбј = захтевају ( 'фс' ) ;

конст стреамОбј = фсОбј. цреатеРеадСтреам ( 'усецасе.ткт' ) ;

стреамОбј. на ( 'подаци' , ( садржаја ) => {

конзола. Пријава ( садржаја. тоСтринг ( ) ) ;

} ) ;

стреамОбј. на ( 'крај' , ( ) => {

конзола. Пријава ( ' Завршено читање датотеке.' ) ;

} ) ;

стреамОбј. цев ( процес. стдоут ) ;

Опис горњег кода је следећи:

  • Прво, „ фс ” модул се увози и његов објекат се чува у „ фсОбј ' променљива.
  • Затим, користећи „ фсОбј ” позива на „ цреатеРеадСтреам() ” и прослеђује путању циљане датотеке чији садржај треба да се преузме. Сачувајте резултат методе у новој променљивој “ стреамОбј ”.
  • Приложите „ на() ” метод са „стреамОбј” који позива функцију повратног позива када „ података ” се преузима. Преузети подаци се прослеђују као параметар за функцију повратног позива која конвертује податке у стринг формат и приказује их преко конзоле.
  • Опет приложите „ на() ” метод са “ стреамОбј ” и овог пута њена функција повратног позива приказује поруку о завршетку када се читање датотеке заврши.

Генерисани излаз након извршавања горњег кода показује да су прочитани подаци дуж завршне поруке приказани преко конзоле:

То је све о коришћењу читљивих стримова у Ноде.јс.

Закључак

За рад са читљивим стримовима у Ноде.јс, метод „ цреатеРеадСтреам() ” се позива преко „ фс ” објекат модула. Циљана путања датотеке на којој садржај треба да се упише се затим прослеђује као параметар методе. Може се користити са „ .цев() ” за обављање даљих задатака над преузетим подацима као што је писање садржаја у другу датотеку. Овај пост је илустровао процедуру рада са читљивим стримовима.