gpt4 book ai didi

node.js - 在哪里可以找到 Node.js 中 'keypress' 事件的文档

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:26 27 4
gpt4 key购买 nike

在 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' 回调时使用的参数的文档在哪里?

最佳答案

指定此详细信息 here因为:

process.stdin是一个双工流并调用 emitKeypressEvents(<IN/OUT>)会导致readline模块将从process.stdin读取然后它将解析数据,然后发出写入 output 的事件流调用write ,因此您正在查找的文档是关于该函数编写的。

emitKeypressEvents设置与输入和输出相同的输入参数,而不是 createInterface您可以定义一个用于输入,一个用于输出(您必须在其中附加 on(keypress) 事件。

一个需要理解的小 Playground :

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)
});

关于node.js - 在哪里可以找到 Node.js 中 'keypress' 事件的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55181297/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com