是否可以在正在运行的nodejs脚本中侦听传入的击键?如果我使用process.openStdin()并监听其'data'事件,则输入将被缓冲到下一个换行符,如下所示:
process.openStdin()
'data'
// stdin_test.js var stdin = process.openStdin(); stdin.on('data', function(chunk) { console.log("Got chunk: " + chunk); });
运行此,我得到:
$ node stdin_test.js <-- type '1' <-- type '2' <-- hit enter Got chunk: 12
我想要看的是:
$ node stdin_test.js <-- type '1' (without hitting enter yet) Got chunk: 1
我正在寻找一个等效于例如ruby的nodejsgetc
getc
这可能吗?
var stdin = process.openStdin(); require('tty').setRawMode(true); stdin.on('keypress', function (chunk, key) { process.stdout.write('Get Chunk: ' + chunk + '\n'); if (key && key.ctrl && key.name == 'c') process.exit(); });