Как работи Readline emitKeypressEvents() в Node.js?

Kak Raboti Readline Emitkeypressevents V Node Js



Node.js е безплатна добре позната среда за изпълнение на JavaScript с отворен код за създаване на динамични и силно мащабируеми уеб приложения. Постига тази функционалност с помощта на модулната система. „ модул ” система е градивният елемент на приложение, което позволява на разработчиците да използват повторно кода, когато е необходимо. Той е категоризиран в три основни категории: „вградени“, „локални“ и модули „от трети страни“.

Сред вградените модули има „ линия за четене ” модул, който чете данните от четимия поток ред по ред по последователен начин. Освен това този модул съдържа няколко метода, които изпълняват специални функции като „createInterface()“ създава интерфейс за четене, „cursorTo()“ премества курсора, „emitKeypressEvents()“ отговаря на събитията от клавиатурата и много други.

Това описание ще демонстрира работата на линията за четене „emitKeypressEvents()“ в Node.js.







Как работи Readline „emitKeypressEvents()“ в Node.js?

emitKeypressEvents() ” е предварително дефинираният метод на модула „readline”, който отговаря на събитията от клавиатурата и ги излъчва въз основа на натиснат клавиш. Той реагира на всички натискания на клавиши от клавиатурата като Enter, клавиши за посока и много други, докато работи с командния ред.



Синтаксис



Обобщеният синтаксис на „emitkeypressEvents()“ е както следва:





линия за четене. emitKeypressEvents ( поток [ , интерфейс ] )

Параметрите, използвани в синтаксиса на „ emitKeypressEvents() ” са обяснени по-долу:

  • поток: Той представлява четимия поток, от който се четат данните.
  • интерфейс: Това е незадължителен параметър, който указва вече създадения „четим“ поток.

Върната стойност: „emitKeypressEvents()“ не връща нищо.



Сега използвайте практически метода „emitKeypressEvents()“.

Пример: Прилагане на метода „emitKeypressEvents()“ за обработка на събитие от клавиатурата

Този пример прилага метода “emitKeypressEvents()” за отпечатване на натиснатия клавиш и неговите атрибути:

конст линия за четене = изискват ( 'readline' ) ;

конзола. дневник ( „Натиснете произволен клавиш на клавиатурата“ )

линия за четене. emitKeypressEvents ( процес. stdin ) ;

ако ( процес. stdin . еTTY )

процес. stdin . setRawMode ( вярно ) ;

процес. stdin . На ( 'натискане на клавиш' , ( str, ключ ) => {

ако ( ключ. ctrl == вярно && ключ. име == '° С' ) {

процес. изход ( )

}

конзола. дневник ( ул )

конзола. дневник ( ключ )

} )

Обяснението на горния код е както следва:

  • Първо, „ изисквам() ” импортира модула „readline” в текущия проект Node.js.
  • След това „ console.log() ” показва цитираното изявление в изходния екран.
  • След това „ emitKeypressEvents() ” позволява на събитията от клавиатурата да реагират на всяко натискане на клавиш във входния поток.
  • Сега „ process.stdin ” свойство е свързано с „ .На ” събитие на клавиатурата, което да реагира при натискане на който и да е клавиш на клавиатурата.
  • В дефиницията на функцията стрелка за обратно извикване, „ ако ” условие дефинира кодов блок, който определя условие: ако „ ctrl ” е натиснат и е равен на „ вярно ”, тогава даденият процес ще излезе чрез използване на „ process.exit() ” метод.
  • И накрая, „ console.log() ' методът отпечатва ' ул “ и „ ключ ” стойности на аргументи.

Изход

Изпълнете до „ index.js ” файл с помощта на посочената по-долу команда:

индекс на възел. js

Следният изход показва натиснатия клавиш заедно с неговия атрибут. За да излезете от процеса, натиснете „ Ctrl+C ” клавиш за бърз достъп:

Това е всичко за работата на „emitKeypressEvents()“ в Node.js.

Заключение

Линията за четене “ emitKeypressEvents() ” методът работи върху събитието на клавиатурата, докато натискате който и да е клавиш на клавиатурата в четливия поток. Този метод открива клавиша на клавиатурата и излъчва неговия атрибут. Полезно е, докато работите в командния ред, да отговаряте чрез натискане на клавиша на клавиатурата. Тази публикация обяснява работата на метода readline „emitKeypressEvents()“ в Node.js.