node.js readline – 写入数据出现在input中

我有一个非常基本的readline实现,似乎有一个问题,当我写入写入的数据出现在input并引发“线”事件。 这全部在标准的linux rxvt窗口中。

var rl readline.createInterface({ input: process.stdin, output: process.stdout, // terminal: false <--- setting true/false makes no difference }); rl.on('line', function(line) { var inp = line.trim(); console.log('line event'); switch(inp) { case .... default: console.log('Unknown command: ' + inp + '\n'); } }); 

然后rl.write(string);

从套接字I / O。 写入引发“行”事件,写入数据作为未知命令发出。

如果我在terminal上input数据,就会像预期的那样引发“行”事件,并且工作正常。

很明显,写入的数据不应该出现在input上,并询问可能是什么原因。

谢谢

其实rl.write会触发线条事件。 它应该在文档中,但不是。 如果你想绕过parsing器,只需写入到process.stdout。

以前的terminal: false会导致输出有一个尾端,强制线事件触发。 所以你可以给它真正的避免,但现在它已经改变,所以改变选项将无济于事。

看到提出的问题 。 最后的评论说同样的。