Hvordan lese påfølgende innganger med Node.js Readline Module?

Hvordan Lese Pafolgende Innganger Med Node Js Readline Module



« leselinje ” Node.js-modulen er ideell å bruke i scenarier der mer enn én påfølgende input må tas fra sluttbrukeren. Denne modulen omslutter standardutgangen og inngangen som hjelper til med å lese inngangsstrømmen linje for linje uten å hoppe over mottatte data. Med ankomsten av ' leselinje ”-modulen, blir prosedyren for å hente dataene i sanntid mye enklere og raskere.

Denne oppskriften forklarer prosedyren for å lese de påfølgende inngangene med nodejs readline-modul.

Hvordan lese påfølgende innganger med Node.js Readline Module?

De påfølgende inngangene er den som tar og lagrer svarene for flere spørsmål samtidig på en sekvensiell måte. Disse påfølgende forespørslene blir for det meste stilt mens du blir med på noen kurs eller på tidspunktet for bekreftelse. Et par eksempler er angitt nedenfor for implementering av lesing av fortløpende innganger ved å bruke Node.js readline-modulen.







Eksempel 1: Lese fortløpende innganger ved å bruke Readline-modulen og matrisene

I dette eksemplet blir de påfølgende inngangene tatt og lest ved å bruke ' leselinje ' modul. Inndataene lagres i arrayet der de vises på konsollen:



konst leselinje = krever ( 'leselinje' ) ;

konst leselinjegrensesnitt = leselinje. lage grensesnitt ( {

input : prosess. stdin ,

produksjon : prosess. stdout

} )

konst req0 = 'Kan! Jeg vet kallenavnet ditt? ;

konst krav1 = 'Hva er hobbyen din' ;

konst krav2 = 'Hva elsker du å høre på' ;

konst krav3 = 'Kan! Jeg vet om favorittretten din? ;

konst krav4 = 'Hvor bor du?' ;

konst krav5 = 'Hva er favorittfargen din' ;

konst krav 6 = 'Hvem er din bestevenn' ;

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

la res = '' ;

konst reqData = x => {

hvis ( x < reqArr. lengde ) {

leselinjegrensesnitt. spørsmål ( reqArr [ x ] , ( reqResponse ) => {

res += ' \n ' + reqResponse ;

reqData ( x + 1 ) ;

} ) ;

} ellers {

konsoll. Logg ( `Takk til deler med meg ! $ { res } ` ) ;

leselinjegrensesnitt. Lukk ( ) ;

}

} ;

reqData ( 0 ) ;

Beskrivelsen av koden som brukes i kodebiten ovenfor, er angitt nedenfor:



  • Start med å importere ' leselinje '-modulen og lagre objektet i en variabel kalt ' leselinje '.
  • Deretter oppretter du et grensesnitt kalt ' leselinjegrensesnitt ' for ' leselinje '-objekt som omslutter standard inn- og utdataprosessen ved å bruke ' createInterface() 'metoden. Den forbinder også hver forespørsel og svar med en enkelt inngangslesbar og utskrivbar strøm ved å bruke ' prosess ” eiendom.
  • Deretter oppretter du syv ' konst ” skriv variabler for å lagre noen forespørsler eller spørsmål som må stilles fortløpende. Lagre disse konstantene i den enkle matrisen kalt ' reqArr '.
  • Opprett en ny tom variabel ' res ', definer en pilfunksjon kalt ' reqData ' og send enkeltparameteren til ' x '.
  • Inne i denne funksjonen, bruk ' hvis '-setning som sjekker om verdien av den angitte parameteren er mindre enn lengden på ' reqArr ' eller ikke.
  • I tilfelle sant, ' spørsmål() ”-metoden brukes på grensesnittet, og den viser hver forespørsel fra arrayet over utgangen sekvensielt. Deretter sender den deres tilsvarende oppgitte verdier som et argument.
  • Disse argumentene er lagret i den allerede opprettede matrisen ' res '.
  • Når alle forespørslene vises sekvensielt over konsollen, er tilstanden ' hvis utsagn blir falsk og i ellers ' del, ' res '-arrayen vises over konsollen.
  • Til slutt lukkes også leselinjegrensesnittet ved å påkalle ' Lukk() 'metoden. Påkall også ' reqData() '-funksjonen og gi en startverdi på ' 0 ” for å starte spørsmålet fra toppen eller fra det første spørsmålet som er tilgjengelig i matrisen.

Nå, utfør denne inneholdende filen ved å skrive inn ' node ' nøkkelord bak ' filnavn ” på terminalen:





node skrive

Utgangen viser at programmet har lest de påfølgende inngangene og returnert alle på en gang:

Eksempel 2: Lese fortløpende innganger ved å bruke Readline-modulen og den rekursive funksjonen

I metoden brukes den rekursive tilnærmingen med ' leselinje ” Node.js-modul for å lese de påfølgende inngangene fra brukeren på inngangsstrømmen:



konst lese = krever ( 'leselinje' ) ;
konst leselinjegrensesnitt = lese. lage grensesnitt ( {
input : prosess. stdin ,
produksjon : prosess. stdout
} )
var reqArr = [ ]
funksjon reqData ( x ) {
hvis ( x > 3 )
{
var gjennomsnittlig = 0
til ( j i reqArr )
{
gjennomsnitt += Antall ( reqArr [ j ] )
}
konsoll. Logg ( gjennomsnitt / 3 ) ;
}
ellers
{
leselinjegrensesnitt. spørsmål ( 'Skriv inn ' + x + 'tall av 3:' ,    funksjon ( reqResponse ) {
reqArr. trykk ( reqResponse )
reqData ( x + 1 )
} )
}
}

reqData ( 1 ) ;

Forklaringen på koden ovenfor er beskrevet nedenfor i form av kulepunkter:

  • Først importerer du ' leselinje ' i en nyopprettet ' write.js ' fil og lagre metodeobjektet i en ' lese variabel. Lag et grensesnitt som lagrer ' leselinje '-grensesnittet som er opprettet via ' createInterface() 'metoden.
  • Lag nå en tom matrise kalt ' reqArr ' og definer ' reqData() ' funksjon som også aksepterer en enkelt parameter kalt ' x '.
  • Funksjonen sjekker først om den angitte verdien er større enn ' 3 ' eller ikke. I tilfelle true, de hentede verdiene som kommer i ' x 'variabelen blir lagret i en matrise og lagt til den enkeltvariabelen kalt ' gjennomsnitt '.
  • Etter det, ' gjennomsnitt variabelen er delt på 3 ' for å finne gjennomsnittet ettersom lengden på det maksimalt tillatte tallet er ' 3 ” og resultatet vises på konsollen.
  • I den andre delen, ' spørsmål() 'metoden er festet med grensesnittet' readlineInnerface '. Denne metoden viser meldingen over konsollen og definerer en anonym funksjon.
  • Funksjonen aksepterer brukerens inndata og legger til disse dataene til matrisen ' reqArr '. Den oppdaterer også verdien av ' x ' hver gang og sender den oppdaterte verdien til ' reqData() ' funksjon. Dette vil sørge for at brukeren bare legger inn verdier mindre enn tre fra ' 0 '. Til slutt påkaller du ' reqData() ' funksjon for å starte utførelsesprosessen.

Nå, utfør dette som inneholder ' write.js '-filen ved å skrive inn ' node ' nøkkelord bak ' filnavn ” på terminalen:

node skrive

Utgangen bekrefter at påfølgende innganger leses og deres gjennomsnitt vises over konsollen ved å bruke kombinasjonen av rekursiv tilnærming og leselinjemodul:

Denne veiledningen forklarer prosedyren for å lese påfølgende inndata med Node.js readline-modulen.

Konklusjon

For å lese de påfølgende inngangene med Node.js readline-modulen, importer først denne modulen i en arbeidsfil og lag et grensesnitt ved å bruke ' createInterface() 'metoden. Dette grensesnittet påkaller ' spørsmål() 'metoden. Den sender forespørsler til brukeren fortløpende og sender de tilsvarende svarene for hver forespørsel til tilbakeringingsfunksjonen for å bruke noen operasjoner i henhold til kravene. Du har lært prosessen med å lese påfølgende inndata ved å bruke leselinjemodulen.