Node.jsでは、次のようなイベント'readline'
を発行する'keypress'
ようにモジュールを構成できます。
const readline = require('readline');
readline.emitKeypressEvents(process.stdin);
if (process.stdin.isTTY) {
process.stdin.setRawMode(true);
}
次に、次のようなキー押下イベントをリッスンできます(例はCtrl+をリッスンしますc)。
process.stdin.on('keypress', (str, key) => {
if (key.ctrl && key.name === 'c') {
// do stuff
}
});
これは非常にうまく機能'keypress'
しますが、https://nodejs.org/en/docs/でイベントに関するドキュメントを見つけることができません。
だから私の質問は:私の'keypress'
-callbackが呼び出されたときに使用される引数に関するドキュメントはどこにありますか?
process.stdin
二重の流れで、呼び出すemitKeypressEvents(<IN/OUT>)
ことが発生しますreadline
モジュールから読み取られますprocess.stdin
、それはデータを解析し、その後にイベントの書き込みを放出するoutput
ストリーム呼び出しwrite
、あなたが探しているドキュメントがその機能に書かれている本のため、。
emitKeypressEvents
入力および出力と同じ入力パラメーターを設定します。代わりにcreateInterface
、入力用に1つ、出力用に1つを定義できます(on(keypress)
イベントをアタッチする必要があります)。
理解するための小さな遊び場:
const readline = require('readline');
const { Readable } = require('stream');
const inStream = new Readable({
read() { console.log('in reading'); }
});
let i = 0
setInterval(() => { inStream.push(`${i++}`) }, 1000)
readline.emitKeypressEvents(inStream);
inStream.on('keypress', (...ar) => {
console.log(ar)
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加