A beépített modulok között van egy „ readline ” modul, amely soronként, szekvenciálisan olvassa be az adatokat az olvasható adatfolyamból. Ez a modul számos olyan módszert tartalmaz, amelyek speciális funkciókat hajtanak végre, mint például a „createInterface()” egy readline interfészt hoz létre, a „cursorTo()” mozgatja a kurzort, az „emitKeypressEvents()” reagál a billentyűzet eseményeire, és még sok más.
Ez az írás bemutatja az „emitKeypressEvents()” readline működését a Node.js-ben.
Hogyan működik a Readline „emitKeypressEvents()” a Node.js-ben?
A ' emitKeypressEvents() ” a „readline” modul előre definiált módszere, amely reagál a billentyűzet eseményeire és a lenyomott billentyű alapján kiadja azokat. A parancssor kezelése közben reagál a billentyűzet minden billentyűlenyomására, például az Enter-re, az iránybillentyűkre és sok másra.
Szintaxis
Az „emitkeypressEvents()” általánosított szintaxisa a következő:
readline. emitKeypressEvents ( folyam [ , felület ] )
A „ emitKeypressEvents() ” módszert az alábbiakban ismertetjük:
- folyam: Azt az olvasható adatfolyamot képviseli, amelyből az adatokat olvassák.
- felület: Ez egy opcionális paraméter, amely a már létrehozott „olvasható” adatfolyamot határozza meg.
Visszatérési érték: Az „emitKeypressEvents()” nem ad vissza semmit.
Most gyakorlatilag használja az „emitKeypressEvents()” metódust.
Példa: Az „emitKeypressEvents()” módszer alkalmazása a billentyűzetesemény kezelésére
Ez a példa az „emitKeypressEvents()” metódust alkalmazza a lenyomott billentyű és attribútumainak kinyomtatására:
const readline = igényelnek ( 'olvasóvonal' ) ;konzol. log ( 'Nyomja meg bármelyik billentyűzet billentyűt' )
readline. emitKeypressEvents ( folyamat. stdin ) ;
ha ( folyamat. stdin . isTTY )
folyamat. stdin . setRawMode ( igaz ) ;
folyamat. stdin . tovább ( 'gombnyomás' , ( str, kulcs ) => {
ha ( kulcs. ctrl == igaz && kulcs. név == 'c' ) {
folyamat. kijárat ( )
}
konzol. log ( str )
konzol. log ( kulcs )
} )
A fenti kód magyarázata a következő:
- Először is a „ igényel() ” metódus importálja a „readline” modult az aktuális Node.js projektben.
- Ezután a „ console.log() ” megjeleníti az idézett állítást a kimeneti képernyőn.
- Ezt követően a „ emitKeypressEvents() ” lehetővé teszi, hogy a billentyűzet eseményei reagáljanak a beviteli adatfolyam bármely gombnyomására.
- Most a ' folyamat.stdin ' tulajdonság össze van kapcsolva a ' .tovább ” billentyűzetesemény, amely a billentyűzet bármely billentyűjének megnyomására reagál.
- A visszahívási nyíl függvény definíciójában a „ ha ” feltétel egy kódblokkot határoz meg, amely egy feltételt ad meg: ha a „ ctrl ' gomb lenyomva és egyenlő a ' igaz ', akkor az adott folyamat a ' process.exit() ” módszerrel.
- Végül a „ console.log() ' módszer kiírja a ' str ' és a ' kulcs ” érvek értékeit.
Kimenet
Végrehajtás a ' index.js ” fájlt az alábbi paranccsal:
csomópont index. jsA következő kimenet megjeleníti a lenyomott billentyűt az attribútumával együtt. A folyamatból való kilépéshez nyomja meg a „ Ctrl+C ' gyorsbillentyű:
Ez minden az „emitKeypressEvents()” működéséről szól a Node.js-ben.
Következtetés
Az olvasmány ' emitKeypressEvents() ” metódus működik a billentyűzet eseményén, miközben bármelyik billentyűzet billentyűt lenyomja az olvasható adatfolyamba. Ez a módszer észleli a billentyűzet billentyűjét, és kiadja annak attribútumait. Hasznos, ha a parancssorban dolgozik, ha a billentyűzet billentyűjének megnyomásával válaszol. Ez a bejegyzés elmagyarázza a readline „emitKeypressEvents()” metódus működését a Node.js-ben.