Unter den eingebauten Modulen gibt es ein „ Zeile lesen ”-Modul, das die Daten Zeile für Zeile nacheinander aus dem lesbaren Stream liest. Dieses Modul enthält außerdem mehrere Methoden, die spezielle Funktionen ausführen, wie zum Beispiel „createInterface()“ erstellt eine Readline-Schnittstelle, „cursorTo()“ bewegt den Cursor, „emitKeypressEvents()“ reagiert auf Tastaturereignisse und viele andere.
Dieser Artikel demonstriert die Funktionsweise der Readline „emitKeypressEvents()“ in Node.js.
Wie funktioniert Readline „emitKeypressEvents()“ in Node.js?
Der ' emitKeypressEvents() „ ist die vordefinierte Methode des „readline“-Moduls, die auf Tastaturereignisse reagiert und diese basierend auf der gedrückten Taste ausgibt. Es reagiert auf alle Tastendrücke der Tastatur wie Eingabetaste, Richtungstasten und viele andere, während es sich um die Befehlszeile handelt.
Syntax
Die verallgemeinerte Syntax von „emitkeypressEvents()“ lautet wie folgt:
Zeile lesen. emitKeypressEvents ( Strom [ , Schnittstelle ] )
Die in der Syntax des „ emitKeypressEvents() Die Methode wird im Folgenden erläutert:
- Strom: Es stellt den lesbaren Stream dar, aus dem die Daten gelesen werden.
- Schnittstelle: Es handelt sich um einen optionalen Parameter, der den bereits erstellten „lesbaren“ Stream angibt.
Rückgabewert: „emitKeypressEvents()“ gibt nichts zurück.
Nutzen Sie nun die Methode „emitKeypressEvents()“ praktisch.
Beispiel: Anwenden der Methode „emitKeypressEvents()“ zur Behandlung von Tastaturereignissen
In diesem Beispiel wird die Methode „emitKeypressEvents()“ angewendet, um die gedrückte Taste und ihre Attribute auszudrucken:
const Zeile lesen = erfordern ( 'Zeile lesen' ) ;Konsole. Protokoll ( „Drücken Sie eine beliebige Tastaturtaste“ )
Zeile lesen. emitKeypressEvents ( Verfahren. stdin ) ;
Wenn ( Verfahren. stdin . istTTY )
Verfahren. stdin . setRawMode ( WAHR ) ;
Verfahren. stdin . An ( 'Tastendruck' , ( str, Schlüssel ) => {
Wenn ( Schlüssel. Strg == WAHR && Schlüssel. Name == 'C' ) {
Verfahren. Ausfahrt ( )
}
Konsole. Protokoll ( str )
Konsole. Protokoll ( Schlüssel )
} )
Die Erklärung des obigen Codes lautet wie folgt:
- Erstens, die „ erfordern() Die Methode importiert das Modul „readline“ in das aktuelle Node.js-Projekt.
- Als nächstes wird das „ console.log() ” zeigt die zitierte Anweisung im Ausgabebildschirm an.
- Danach wird das „ emitKeypressEvents() ” ermöglicht es den Tastaturereignissen, auf jeden Tastendruck im Eingabestream zu reagieren.
- Jetzt die ' prozess.stdin Die Eigenschaft „ ist mit der Eigenschaft „ verknüpft. .An ” Tastaturereignis, um auf das Drücken einer beliebigen Tastaturtaste zu reagieren.
- In der Definition der Callback-Pfeilfunktion ist das „ Wenn „Bedingung“ definiert einen Codeblock, der eine Bedingung angibt: wenn „ Strg ”-Taste gedrückt wird und gleich „ WAHR “, dann wird der angegebene Prozess beendet, indem „“ verwendet wird. prozess.exit() ' Methode.
- Schließlich ist das „ console.log() ”-Methode druckt das „ str ' und das ' Schlüssel ” Argumente Werte.
Ausgabe
Ausführen zu „ index.js ”-Datei mit dem unten angegebenen Befehl:
Knotenindex. jsDie folgende Ausgabe zeigt die gedrückte Taste zusammen mit ihrem Attribut an. Um den Vorgang zu beenden, drücken Sie die Taste „ Strg+C ' Tastenkürzel:
Das ist alles über die Funktionsweise von „emitKeypressEvents()“ in Node.js.
Abschluss
Die Lesezeile „ emitKeypressEvents() Die Methode arbeitet mit dem Tastaturereignis, während eine beliebige Tastaturtaste in den lesbaren Stream gedrückt wird. Diese Methode erkennt die Tastaturtaste und gibt ihr Attribut aus. Beim Arbeiten in der Befehlszeile ist es hilfreich, durch Drücken der Tastaturtaste zu reagieren. In diesem Beitrag wurde die Funktionsweise der readline-Methode „emitKeypressEvents()“ in Node.js erläutert.