Wśród wbudowanych modułów znajduje się „ Czytaj linię ” moduł odczytujący dane z czytelnego strumienia linia po linii w sposób sekwencyjny. Moduł ten zawiera ponadto kilka metod realizujących specjalne funkcje, takie jak „createInterface()” tworzy interfejs readline, „cursorTo()” przesuwa kursor, „emitKeypressEvents()” reaguje na zdarzenia z klawiatury i wiele innych.
W tym artykule zademonstrujemy działanie linii odczytu „emitKeypressEvents()” w Node.js.
Jak działa Readline „emitKeypressEvents()” w Node.js?
„ emitKeypressEvents() ” to predefiniowana metoda modułu „readline”, który reaguje na zdarzenia z klawiatury i emituje je w zależności od wciśniętego klawisza. Reaguje na wszystkie naciśnięcia klawiszy na klawiaturze, takich jak Enter, klawisze kierunkowe i wiele innych podczas pracy z wierszem poleceń.
Składnia
Uogólniona składnia „emitkeypressEvents()” jest następująca:
Czytaj linię. emitujKeypressEvents ( strumień [ , interfejs ] )
Parametry użyte w składni „ emitKeypressEvents() ” wyjaśniono poniżej:
- strumień: Reprezentuje czytelny strumień, z którego odczytywane są dane.
- interfejs: Jest to opcjonalny parametr określający już utworzony strumień „czytelny”.
Wartość zwracana: Funkcja „emitKeypressEvents()” niczego nie zwraca.
Teraz użyj praktycznie metody „emitKeypressEvents()”.
Przykład: zastosowanie metody „emitKeypressEvents()” do obsługi zdarzenia klawiatury
W tym przykładzie zastosowano metodę „emitKeypressEvents()” w celu wydrukowania wciśniętego klawisza i jego atrybutów:
konst Czytaj linię = wymagać ( 'Czytaj linię' ) ;konsola. dziennik ( „Naciśnij dowolny klawisz klawiatury” )
Czytaj linię. emitujKeypressEvents ( proces. stdin ) ;
Jeśli ( proces. stdin . jest TTY )
proces. stdin . ustaw tryb surowy ( PRAWDA ) ;
proces. stdin . NA ( „naciśnięcie klawisza” , ( str., klucz ) => {
Jeśli ( klucz. klawisz kontrolny == PRAWDA && klucz. nazwa == 'C' ) {
proces. Wyjście ( )
}
konsola. dziennik ( ul )
konsola. dziennik ( klucz )
} )
Wyjaśnienie powyższego kodu jest następujące:
- Po pierwsze, „ wymagać() ” importuje moduł „readline” z bieżącego projektu Node.js.
- Następnie „ konsola.log() ” wyświetla cytowane stwierdzenie na ekranie wyjściowym.
- Następnie „ emitKeypressEvents() ” umożliwia reagowanie zdarzeń klawiatury na dowolne naciśnięcie klawisza w strumieniu wejściowym.
- Teraz ' proces.stdin ” właściwość jest połączona z „ .NA ” zdarzenie klawiatury, aby zareagować na naciśnięcie dowolnego klawisza klawiatury.
- W definicji funkcji strzałki wywołania zwrotnego „ Jeśli ” warunek definiuje blok kodu, który określa warunek: jeśli „ klawisz kontrolny ” jest wciśnięty i ma wartość „ PRAWDA ”, wówczas dany proces zakończy się, korzystając z „ proces.exit() ' metoda.
- Wreszcie „ konsola.log() ” drukuje „ ul ” i „ klucz wartości argumentów.
Wyjście
Wykonaj do „ indeks.js ” za pomocą poniższego polecenia:
indeks węzła. jsPoniższe dane wyjściowe wyświetlają naciśnięty klawisz wraz z jego atrybutem. Aby zakończyć proces, naciśnij przycisk „ Ctrl+C ' skrót klawiszowy:
To wszystko o działaniu „emitKeypressEvents()” w Node.js.
Wniosek
Linia odczytu „ emitKeypressEvents() ” działa na zdarzeniu klawiatury po naciśnięciu dowolnego klawisza klawiatury w czytelny strumień. Ta metoda wykrywa klawisz klawiatury i emituje jego atrybut. Podczas pracy w wierszu poleceń przydatne jest reagowanie poprzez naciśnięcie klawisza klawiatury. W tym poście wyjaśniono działanie metody readline „emitKeypressEvents()” w Node.js.