Hur fungerar Readline emitKeypressEvents() i Node.js?

Hur Fungerar Readline Emitkeypressevents I Node Js



Node.js är en gratis öppen källkod, välkänd JavaScript-runtime-miljö för att skapa dynamiska och mycket skalbara webbapplikationer. Den uppnår denna funktionalitet med hjälp av modulsystemet. den ' modul ”-systemet är byggstenen i en applikation som gör det möjligt för utvecklarna att återanvända koden när det behövs. Det är kategoriserat i tre huvudkategorier: 'inbyggda', 'lokala' och 'tredje parts' moduler.

Bland de inbyggda modulerna finns en ' läslinje ”-modul som läser data från den läsbara strömmen rad för rad på ett sekventiellt sätt. Den här modulen innehåller vidare flera metoder som utför speciella funktioner som 'createInterface()' skapar ett läslinjegränssnitt, 'cursorTo()' flyttar markören, 'emitKeypressEvents()' svarar på tangentbordshändelser och många andra.

Denna uppskrivning kommer att visa hur läsraden 'emitKeypressEvents()' fungerar i Node.js.







Hur fungerar Readline “emitKeypressEvents()” i Node.js?

den ' emitKeypressEvents() ” är den fördefinierade metoden för modulen ”läslinje” som svarar på tangentbordshändelser och avger dem baserat på den nedtryckta tangenten. Den svarar på alla tangenttryckningar från tangentbordet som Enter, riktningstangenter och många andra samtidigt som den hanterar kommandoraden.



Syntax



Den generaliserade syntaxen för 'emitkeypressEvents()' är som följer:





läslinje. emitKeypressEvents ( ström [ , gränssnitt ] )

Parametrarna som används i syntaxen för ' emitKeypressEvents() ”-metoden förklaras nedan:

  • ström: Den representerar den läsbara strömmen från vilken data läses.
  • gränssnitt: Det är en valfri parameter som specificerar den redan skapade 'läsbara' strömmen.

Returvärde: 'emitKeypressEvents()' returnerar ingenting.



Använd nu 'emitKeypressEvents()'-metoden praktiskt taget.

Exempel: Använda metoden 'emitKeypressEvents()' för att hantera tangentbordshändelser

Det här exemplet tillämpar metoden 'emitKeypressEvents()' för att skriva ut den nedtryckta tangenten och dess attribut:

konst läslinje = behöva ( 'läslinje' ) ;

trösta. logga ( 'Tryck på valfri tangentbordstangent' )

läslinje. emitKeypressEvents ( bearbeta. stdin ) ;

om ( bearbeta. stdin . ärTTY )

bearbeta. stdin . setRawMode ( Sann ) ;

bearbeta. stdin . ( 'knapptryckning' , ( str, nyckel ) => {

om ( nyckel. ctrl == Sann && nyckel. namn == 'c' ) {

bearbeta. utgång ( )

}

trösta. logga ( str )

trösta. logga ( nyckel )

} )

Förklaringen av ovanstående kod är följande:

  • För det första, ' behöva() ”-metoden importerar ”readline”-modulen i det aktuella Node.js-projektet.
  • Därefter ' console.log() ” visar det citerade uttalandet på utdataskärmen.
  • Efter det kommer ' emitKeypressEvents() ” gör det möjligt för tangentbordshändelser att svara på alla tangenttryckningar i inmatningsströmmen.
  • Nu den ' process.stdin ' egenskapen är sammanlänkad med ' .på ” tangentbordshändelse för att svara när du trycker på valfri tangentbordsknapp.
  • I definitionen av funktionen för återuppringningspil, ' om ”-villkor definierar ett kodblock som specificerar ett villkor: om ctrl '-tangenten är nedtryckt och är lika med ' Sann ' då avslutas den givna processen genom att använda ' process.exit() 'metoden.
  • Slutligen, ' console.log() ”-metoden skriver ut ” str ' och den ' nyckel ' argument värden.

Produktion

Kör till ' index.js '-fil med kommandot nedan:

nodindex. js

Följande utdata visar den nedtryckta knappen tillsammans med dess attribut. För att avsluta processen tryck på ' Ctrl+C ' snabbtangent:

Det handlar om hur 'emitKeypressEvents()' fungerar i Node.js.

Slutsats

Läsraden ' emitKeypressEvents() ”-metoden fungerar på tangentbordshändelsen medan du trycker på valfri tangentbordstangent i den läsbara strömmen. Denna metod upptäcker tangentbordstangenten och avger dess attribut. Det är användbart när du arbetar på kommandoraden att svara genom att trycka på tangentbordet. Det här inlägget har förklarat hur readline-metoden 'emitKeypressEvents()' fungerar i Node.js.