Hvordan virker Readline emitKeypressEvents() i Node.js?

Hvordan Virker Readline Emitkeypressevents I Node Js



Node.js er et gratis open source, velkendt JavaScript-runtime-miljø til at skabe dynamiske og meget skalerbare webapplikationer. Den opnår denne funktionalitet ved hjælp af modulsystemet. Det ' modul ”-systemet er byggestenen i en applikation, der giver udviklerne mulighed for at genbruge koden, når det er nødvendigt. Det er kategoriseret i tre hovedkategorier: 'indbyggede', 'lokale' og 'tredjeparts' moduler.

Blandt de indbyggede moduler er der en ' læselinje ”-modul, der læser data fra den læsbare strøm linje for linje på en sekventiel måde. Dette modul indeholder yderligere flere metoder, der udfører specielle funktioner såsom 'createInterface()' opretter en readline-grænseflade, 'cursorTo()' flytter markøren, 'emitKeypressEvents()' reagerer på tastaturhændelser og mange andre.

Denne opskrivning vil demonstrere, hvordan læselinjen 'emitKeypressEvents()' fungerer i Node.js.







Hvordan virker Readline “emitKeypressEvents()” i Node.js?

Det ' emitKeypressEvents() ” er den foruddefinerede metode til “readline”-modulet, der reagerer på tastaturhændelser og udsender dem baseret på den trykket tast. Den reagerer på alle tastetryk fra tastaturet, såsom Enter, retningstaster og mange andre, mens den håndterer kommandolinjen.



Syntaks



Den generaliserede syntaks for 'emitkeypressEvents()' er som følger:





læselinje. emitKeypressEvents ( strøm [ , interface ] )

De parametre, der bruges i syntaksen for ' emitKeypressEvents() metoden er forklaret nedenfor:

  • strøm: Det repræsenterer den læsbare strøm, hvorfra dataene læses.
  • grænseflade: Det er en valgfri parameter, der specificerer den allerede oprettede 'læsbare' strøm.

Returneringsværdi: 'emitKeypressEvents()' returnerer ikke noget.



Brug nu 'emitKeypressEvents()' metoden praktisk talt.

Eksempel: Anvendelse af metoden 'emitKeypressEvents()' til at håndtere tastaturhændelse

Dette eksempel anvender metoden 'emitKeypressEvents()' til at udskrive den trykte tast og dens attributter:

konst læselinje = kræve ( 'læselinje' ) ;

konsol. log ( 'Tryk på en vilkårlig tastaturtast' )

læselinje. emitKeypressEvents ( behandle. stdin ) ;

hvis ( behandle. stdin . er TTY )

behandle. stdin . setRawMode ( rigtigt ) ;

behandle. stdin . ( 'tastetryk' , ( str, nøgle ) => {

hvis ( nøgle. ctrl == rigtigt && nøgle. navn == 'c' ) {

behandle. Afslut ( )

}

konsol. log ( str )

konsol. log ( nøgle )

} )

Forklaringen af ​​ovenstående kode er som følger:

  • For det første er ' kræve() ”-metoden importerer “readline”-modulet i det aktuelle Node.js-projekt.
  • Dernæst ' console.log() ” viser den citerede sætning på outputskærmen.
  • Derefter vil ' emitKeypressEvents() ” gør det muligt for tastaturhændelser at reagere på ethvert tastetryk i inputstrømmen.
  • Nu, ' process.stdin ' egenskab er sammenkædet med ' .på ” tastaturhændelse for at reagere ved tryk på en vilkårlig tastaturtast.
  • I definitionen af ​​tilbagekaldspilsfunktionen er ' hvis ' betingelse definerer en kodeblok, der specificerer en betingelse: hvis ' ctrl ”-tasten er trykket ned og lig med ” rigtigt ', så afsluttes den givne proces ved at bruge ' process.exit() ” metode.
  • Til sidst, ' console.log() '-metoden udskriver ' str ' og ' nøgle ' argumenter værdier.

Produktion

Udfør til ' index.js ” fil ved hjælp af nedenstående kommando:

node indeks. js

Følgende output viser den trykkede tast sammen med dens attribut. For at afslutte processen tryk på ' Ctrl+C ” genvejstast:

Det handler om, hvordan 'emitKeypressEvents()' fungerer i Node.js.

Konklusion

Læselinjen ' emitKeypressEvents() ”-metoden fungerer på tastaturhændelsen, mens du trykker på en hvilken som helst tastaturtast ind i den læsbare stream. Denne metode registrerer tastaturtasten og udsender dens egenskab. Det er nyttigt, mens du arbejder på kommandolinjen, at reagere ved at trykke på tastaturtasten. Dette indlæg har forklaret, hvordan readline 'emitKeypressEvents()'-metoden fungerer i Node.js.