Hoe werkt Readline emitKeypressEvents() in Node.js?

Hoe Werkt Readline Emitkeypressevents In Node Js



Node.js is een gratis open-source, bekende JavaScript-runtime-omgeving voor het creëren van dynamische en zeer schaalbare webapplicaties. Deze functionaliteit wordt bereikt met behulp van het modulesysteem. De ' module ”-systeem is de bouwsteen van een applicatie waarmee de ontwikkelaars de code kunnen hergebruiken wanneer dat nodig is. Het is onderverdeeld in drie hoofdcategorieën: “ingebouwde”, “lokale” en “derde partij” modules.

Onder de ingebouwde modules bevindt zich een “ Lees regel ”-module die de gegevens uit de leesbare stroom regel voor regel op sequentiële wijze leest. Deze module bevat verder verschillende methoden die speciale functionaliteiten uitvoeren, zoals “createInterface()” creëert een leesregelinterface, “cursorTo()” verplaatst de cursor, “emitKeypressEvents()” reageert op de toetsenbordgebeurtenissen en vele andere.

Dit artikel demonstreert de werking van de leesregel “emitKeypressEvents()” in Node.js.







Hoe werkt Leesregel “emitKeypressEvents()” in Node.js?

De ' emitKeypressEvents() ” is de vooraf gedefinieerde methode van de “readline” -module die reageert op de toetsenbordgebeurtenissen en deze verzendt op basis van de ingedrukte toets. Het reageert op alle toetsaanslagen van het toetsenbord, zoals Enter, richtingstoetsen en vele andere tijdens het omgaan met de opdrachtregel.



Syntaxis



De algemene syntaxis van “emitkeypressEvents()” is als volgt:





Lees regel. emitKeypressEvents ( stroom [ , koppel ] )

De parameters die worden gebruikt in de syntaxis van de “ emitKeypressEvents() ”-methode worden hieronder uitgelegd:

  • stroom: Het vertegenwoordigt de leesbare stroom waaruit de gegevens worden gelezen.
  • koppel: Het is een optionele parameter die de reeds gemaakte “leesbare” stream specificeert.

Winstwaarde: De “emitKeypressEvents()” retourneert niets.



Gebruik nu praktisch de methode “emitKeypressEvents()”.

Voorbeeld: de methode “emitKeypressEvents()” toepassen om toetsenbordgebeurtenissen af ​​te handelen

In dit voorbeeld wordt de methode “emitKeypressEvents()” toegepast om de ingedrukte toets en zijn attributen af ​​te drukken:

const Lees regel = vereisen ( 'Lees regel' ) ;

troosten. loggen ( 'Druk op een willekeurige toetsenbordtoets' )

Lees regel. emitKeypressEvents ( proces. stdin ) ;

als ( proces. stdin . isTTY )

proces. stdin . setRawMode ( WAAR ) ;

proces. stdin . op ( 'toets indrukken' , ( str, sleutel ) => {

als ( sleutel. ctrl == WAAR && sleutel. naam == 'C' ) {

proces. Uitgang ( )

}

troosten. loggen ( str )

troosten. loggen ( sleutel )

} )

De uitleg van de bovenstaande code is als volgt:

  • In de eerste plaats de “ vereisen() 'methode importeert de'readline'-module in het huidige Node.js-project.
  • Vervolgens wordt de “ console.log() ” geeft de geciteerde verklaring weer in het uitvoerscherm.
  • Daarna wordt de “ emitKeypressEvents() ” zorgt ervoor dat de toetsenbordgebeurtenissen kunnen reageren op elke toetsaanslag in de invoerstroom.
  • Nu de ' proces.stdin De eigenschap ' wordt samengevoegd met de ' .op 'toetsenbordgebeurtenis om te reageren bij het indrukken van een willekeurige toetsenbordtoets.
  • In de definitie van de callback-pijlfunctie is de “ als ” voorwaarde definieert een codeblok dat een voorwaarde specificeert: als de “ ctrl ”-toets is ingedrukt en gelijk is aan “ WAAR ', dan wordt het gegeven proces afgesloten door gebruik te maken van de ' proces.exit() methode.
  • Als laatste wordt de “ console.log() 'methode drukt de' str ' en de ' sleutel argumenten waarden.

Uitvoer

Uitvoeren naar “ index.js ”-bestand met behulp van de onderstaande opdracht:

knooppuntindex. js

De volgende uitvoer toont de ingedrukte toets samen met zijn attribuut. Om het proces te verlaten, drukt u op de “ Ctrl+C ' sneltoets:

Dat gaat allemaal over de werking van de “emitKeypressEvents()” in Node.js.

Conclusie

De leesregel “ emitKeypressEvents() '-methode werkt op de toetsenbordgebeurtenis terwijl u op een willekeurige toetsenbordtoets in de leesbare stream drukt. Deze methode detecteert de toetsenbordtoets en verzendt het attribuut ervan. Het is handig om tijdens het werken op de opdrachtregel te reageren door op de toetsenbordtoets te drukken. In dit bericht wordt de werking van de leesregel “emitKeypressEvents()”-methode in Node.js uitgelegd.