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
会导致输出有一个尾端,强制线事件触发。 所以你可以给它真正的避免,但现在它已经改变,所以改变选项将无济于事。
看到提出的问题 。 最后的评论说同样的。