2017-07-17 160 views
3

我希望做的是隐藏/擦除所有用户输入从的NodeJS控制台应用程序,一旦进入,这样当用户插入一些文本,然后类型进入后,他将无法阅读他刚才在控制台中输入的(因此,在进入后,基本上删除该行)。隐藏控制台的用户输入

这应该很简单,但我不知道该怎么做=)。

预先感谢您

编辑: 比方说,我们有这样的代码:

const readline = require('readline') 

const rl = readline.createInterface({ 
    input: process.stdin, 
    output: process.stdout 
}) 

rl.question('How ya doin?\n', input => { 
    console.log('seems like you\'r doing ' + input.toString()) 
}) 
  • 该应用程序会提示一个问题
  • 用户回答“很好”(这行不应该” t在用户按下输入后再有)
  • 该程序说“看起来像......很好”

Output

+0

你有没有试过这个[如何清除控制台](https://stackoverflow.com/questions/9006988/node-js-on-windows-how-to-clear-console)? – LEQADA

+0

我不想清除控制台。我只想清除用户输入(不是程序输出) – razorxan

+0

老实说,我不清楚你到底想做什么。也许尝试用例子来解释? – LEQADA

回答

2

看起来像的ReadLine已经能够处理这个给你..

const readline = require('readline') 

const rl = readline.createInterface({ 
    input: process.stdin, 
    output: process.stdout 
}) 

rl.question('How ya doin?\n', input => { 
    readline.moveCursor(process.stdout, 0,-1) 
    console.log('seems like you\'r doing ' + input.toString()) 
}) 
+0

RTM here - > https://nodejs.org/api/readline.html#readline_readline_movecursor_stream_dx_dy – davobutt