是否可以在运行的nodejs脚本中侦听传入的击键?如果我使用process.openStdin()
并听取它的'data'
事件,那么输入将被缓冲,直到下一个换行符,如下所示:
// stdin_test.js
var stdin = process.openStdin();
stdin.on('data', function(chunk) { console.log("Got chunk: " + chunk); });
Run Code Online (Sandbox Code Playgroud)
运行这个,我得到:
$ node stdin_test.js
<-- type '1'
<-- type '2'
<-- hit enter
Got chunk: 12
Run Code Online (Sandbox Code Playgroud)
我想要看的是:
$ node stdin_test.js
<-- type '1' (without hitting enter yet)
Got chunk: 1
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我正在处理一个使用 node.js 运行的 JS 项目,但我不知道如何让提示正确用于用户输入。我从 npm 安装了它,按照步骤操作,我可以让程序提示用户输入,但我无法将结果存储在变量中。
我想要的是在每一次转弯时提示用户进行下一步(向上、向下、向左或向右)并使用结果。我尝试创建一个全局移动变量并在提示部分影响它,但它似乎不起作用。
var Moving = function(maxMoves){
for(var n=maxMoves; n>0;){
var move;
var l;
//This would prompt for a direction (up,down,left,right)
move = prompt();
//And this would prompt for the number of tiles to advance;
l = prompt();
Direction(move,l);
n-=l;
}
};
Run Code Online (Sandbox Code Playgroud)