【发布时间】:2012-12-04 18:36:07
【问题描述】:
我有一个 setInterval 每秒记录一次时间。 我想使用 STDIN 在我的脚本中执行命令,但 STDOUT 在我键入时移动光标并将其自身置于提示符中。
我对提示没有太多经验,只是开始深入研究。
脚本:
setInterval(function(){
console.log(new Date().toUTCString());
},1000)
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("Hi there, how are you?", function(answer) {
});
输出:
Hi there, how are you?Mon, 17 Dec 2012 16:20:34 GMT
fine
Mon, 17 Dec 2012 16:20:35 GMT
Mon, 17 Dec 2012 16:20:36 GMT
Mon, 17 Dec 2012 16:20:37 GMT
Mon, 17 Dec 2012 16:20:38 GMT
你会如何解决这样的问题?缓存所有的STDOUT,清屏,写完所有的STDOUT,每次console.log()记录时再次提示?
是的,我确实想创建某种基于聊天的系统/命令行界面,其中输出保持在输入之上。
谢谢!
【问题讨论】:
-
为什么要同时登录到标准输出和打字?也许改为登录到文件?即使在视觉上分散了几行,您的输入也应该仍然有效。
-
假设我想创建某种在终端中工作的聊天客户端,我不需要记录我的输入,但由于其他因素(例如其他用户)正在记录)
标签: node.js stdout stdin prompt