在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
}
});
这很好,但是我在https://nodejs.org/en/docs/找不到关于'keypress'
事件的任何文档。
所以我的问题是:调用我的'keypress'
回调时使用的参数的文档在哪里?
答案 0 :(得分:1)
它没有直接记录,但是<cfset THIS.compileextforinclude = "htm" />
方法使给定的Readable流开始发出与收到的输入相对应的readline.emitKeypressEvents()
事件:
答案 1 :(得分:1)
将此详细信息指定为here,因为:
process.stdin
是双工流,调用emitKeypressEvents(<IN/OUT>)
将导致readline
模块将从process.stdin
读取,然后将解析数据,然后发出事件写入到调用output
的{{1}}流中,因此,您要查找的文档都写在该函数上。
write
设置与输入和输出相同的输入参数,相反,在emitKeypressEvents
中,您可以为输入定义一个,而为输出定义一个(必须附加createInterface
事件。) >
一个小操场可以理解:
on(keypress)
答案 2 :(得分:1)
您可以在此处阅读文档:---
https://nodejs.org/api/readline.html#readline_rl_write_data_key
有关的小信息
process.stdin 是双工流,调用 emitKeypressEvents()将导致readline模块将从 process.stdin 中读取,然后它将解析数据,然后将事件写入写入输出流,调用write,因此,您要查找的文档都写在该函数上。
readline.emitKeypressEvents()方法使给定的Readable流开始发出与接收到的输入相对应的' keypress '事件。如果输入是终端,则任何readline实例都会在其输入上自动调用它。关闭readline实例并不会阻止输入发出'keypress'事件。
readline.emitKeypressEvents(process.stdin);
if (process.stdin.isTTY)
process.stdin.setRawMode(true);