Kako čitati uzastopne unose pomoću Node.js Readline modula?

Kako Citati Uzastopne Unose Pomocu Node Js Readline Modula



' linija za čitanje ” Modul Node.js idealan je za korištenje u scenarijima u kojima je potrebno uzeti više od jednog uzastopnog unosa od krajnjeg korisnika. Ovaj modul objedinjuje standardni izlaz i ulaz što pomaže u čitanju ulaznog toka redak po redak bez preskakanja primljenih podataka. Dolaskom “ linija za čitanje ” modula, postupak dohvaćanja podataka u stvarnom vremenu postaje puno lakši i brži.

Ovaj zapis objašnjava postupak čitanja uzastopnih ulaza s nodejs readline modulom.

Kako čitati uzastopne unose s Node.js Readline modulom?

Uzastopni ulazi su oni koji uzimaju i pohranjuju odgovore za više pitanja u isto vrijeme na uzastopni način. Ovi uzastopni upiti uglavnom se postavljaju prilikom pridruživanja nekim tečajevima ili tijekom verifikacije. U nastavku je navedeno nekoliko primjera za implementaciju čitanja uzastopnih unosa pomoću Node.js readline modula.







Primjer 1: Čitanje uzastopnih unosa pomoću Readline modula i nizova

U ovom primjeru, uzastopni unosi se uzimaju i čitaju pomoću ' linija za čitanje ” modul. Unosi se pohranjuju u polje odakle se prikazuju na konzoli:



konst linija za čitanje = zahtijevati ( 'readline' ) ;

konst readlineInterface = linija za čitanje. createInterface ( {

ulazni : postupak. stdin ,

izlaz : postupak. stdout

} )

konst req0 = 'Svibanj! Znam ti nadimak?' ;

konst req1 = 'Koji je tvoj hobi' ;

konst req2 = 'Što voliš slušati' ;

konst req3 = 'Svibanj! Znam tvoje omiljeno jelo?' ;

konst req4 = 'Gdje živiš?' ;

konst req5 = 'Koja je tvoja najdraža boja' ;

konst req6 = 'Tko je tvoj najbolji prijatelj' ;

konst reqArr = [ req0, req1, req2, req3, req4, req5, req6 ] ;

neka rez = '' ;

konst reqData = x => {

ako ( x < reqArr. duljina ) {

readlineInterface. pitanje ( reqArr [ x ] , ( reqResponse ) => {

res += ' \n ' + reqResponse ;

reqData ( x + 1 ) ;

} ) ;

} drugo {

konzola. log ( `Hvala za dijeli sa mnom ! $ { res } ` ) ;

readlineInterface. Zatvoriti ( ) ;

}

} ;

reqData ( 0 ) ;

Opis koda korištenog u gornjem isječku koda naveden je u nastavku:



  • Započnite uvozom ' linija za čitanje ” modul i pohranjuje njegov objekt u varijablu pod nazivom “ linija za čitanje ”.
  • Zatim stvorite sučelje pod nazivom ' readlineInterface ' za ' linija za čitanje ” objekt koji obavija standardni proces ulaza i izlaza koristeći “ createInterface() ” metoda. Također povezuje svaki zahtjev i odgovor s jednim ulazom čitljivim i izlaznim zapisljivim tokom koristeći ' postupak ” vlasništvo.
  • Zatim stvorite sedam ' konst ” varijable tipa za pohranjivanje nekih zahtjeva ili pitanja koja treba postavljati uzastopno. Pohranite ove konstante u jedno polje pod nazivom ' reqArr ”.
  • Napravite novu praznu varijablu ' res ', definirajte funkciju strelice pod nazivom ' reqData ” i proslijedi jedan parametar od „ x ”.
  • Unutar ove funkcije upotrijebite ' ako ” naredba koja provjerava je li vrijednost navedenog parametra manja od duljine “ reqArr ' ili ne.
  • U slučaju true, ' pitanje() ” metoda se primjenjuje na sučelje i prikazuje svaki zahtjev iz niza uzastopno preko izlaza. Zatim prosljeđuje njihove odgovarajuće navedene vrijednosti kao argument.
  • Ovi argumenti su pohranjeni u već kreiranom polju ' res ”.
  • Nakon što se svi zahtjevi uzastopno prikažu na konzoli, tada će biti ispunjen uvjet ' ako ' izjava postaje lažna i u ' drugo ' dio, ' res ” niz se prikazuje preko konzole.
  • Konačno, readline sučelje također se zatvara pozivanjem ' Zatvoriti() ” metoda. Također, pozovite ' reqData() ' funkciju i proslijedite početnu vrijednost ' 0 ” za početak pitanja od vrha ili od prvog pitanja dostupnog u nizu.

Sada pokrenite ovu datoteku koja sadrži unosom ' čvor ' ključna riječ iza ' naziv datoteke ” na terminalu:





pisanje čvora

Izlaz pokazuje da je program pročitao uzastopne ulaze i vratio ih sve odjednom:

Primjer 2: Čitanje uzastopnih unosa pomoću Readline modula i rekurzivne funkcije

U metodi se koristi rekurzivni pristup s ' linija za čitanje ” Node.js modul za čitanje uzastopnih unosa korisnika na ulaznom toku:



konst čitati = zahtijevati ( 'readline' ) ;
konst readlineInterface = čitati. createInterface ( {
ulazni : postupak. stdin ,
izlaz : postupak. stdout
} )
bio je reqArr = [ ]
funkcija reqData ( x ) {
ako ( x > 3 )
{
var prosjek = 0
za ( j u reqArr )
{
prosjek += Broj ( reqArr [ j ] )
}
konzola. log ( prosjek / 3 ) ;
}
drugo
{
readlineInterface. pitanje ( 'Uđi ' + x + 'broj od 3:' ,    funkcija ( reqResponse ) {
reqArr. gurnuti ( reqResponse )
reqData ( x + 1 )
} )
}
}

reqData ( 1 ) ;

Objašnjenje gornjeg koda opisano je u nastavku u obliku grafičkih oznaka:

  • Prvo uvezite ' linija za čitanje ” u novostvorenom “ pisati.js ” i pohranite objekt metode u “ čitati ” varijabla. Napravite sučelje koje pohranjuje ' linija za čitanje ' sučelje koje se stvara putem ' createInterface() ” metoda.
  • Sada stvorite prazan niz pod nazivom ' reqArr ' i definirajte ' reqData() ' funkcija koja također prihvaća jedan parametar pod nazivom ' x ”.
  • Funkcija prvo provjerava je li navedena vrijednost veća od ' 3 ' ili ne. U slučaju true, dohvaćene vrijednosti koje dolaze u ' x ” varijabla se pohranjuje u niz i dodaje jednoj varijabli pod nazivom “ prosjek ”.
  • Nakon toga, ' prosjek ” varijabla je podijeljena sa “ 3 ' da biste pronašli prosjek jer je duljina najvećeg dopuštenog broja ' 3 ” i rezultat se prikazuje na konzoli.
  • U drugom dijelu, ' pitanje() ” metoda je priložena sa sučeljem “ readlineInerface ”. Ova metoda prikazuje poruku preko konzole i definira anonimnu funkciju.
  • Funkcija prihvaća korisničke ulazne podatke i dodaje te podatke u polje ' reqArr ”. Također ažurira vrijednost ' x ' svaki put i prosljeđuje ažuriranu vrijednost u ' reqData() ” funkcija. Ovo će osigurati da korisnik unosi samo vrijednosti manje od tri počevši od ' 0 ”. Na kraju, pozovite ' reqData() ” za početak postupka izvršenja.

Sada izvršite ovo koje sadrži ' pisati.js ” tako da unesete „ čvor ' ključna riječ iza ' naziv datoteke ” na terminalu:

pisanje čvora

Izlaz potvrđuje da se uzastopni ulazi čitaju i da se njihov prosjek prikazuje na konzoli korištenjem kombinacije rekurzivnog pristupa i modula readline:

Ovaj vodič objašnjava proceduru za čitanje uzastopnih unosa pomoću Node.js readline modula.

Zaključak

Za čitanje uzastopnih unosa s Node.js readline modulom, najprije uvezite ovaj modul u radnu datoteku i stvorite sučelje pomoću ' createInterface() ” metoda. Ovo sučelje poziva ' pitanje() ” metoda. Šalje zahtjeve korisniku uzastopno i prosljeđuje odgovarajuće odgovore svakog zahtjeva funkciji povratnog poziva za primjenu nekih operacija u skladu sa zahtjevima. Naučili ste proces čitanja uzastopnih unosa pomoću modula readline.