【发布时间】:2018-01-02 19:44:35
【问题描述】:
我在下面的链接中找到了答案,但是在使用他的代码的固定版本后,它也不起作用。它只是返回数据,而不是 if 语句中写入的日志。如果数据与字符串匹配,那么我想执行某个任务,我也尝试过 toString()。
How to compare input from process.stdin to string in NodeJS?
我的代码
process.stdin.setEncoding('utf8');
process.stdin.on('readable', () => {
const data = process.stdin.read()
if (data == 'expected\n') {
process.stdout.write('worked')
}
})
process.stdin.on('end', () => {
process.stdout.write('end')
})
他的“固定”代码
process.stdin.setEncoding('utf8');
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if(chunk === null)
return;
//i've tried this as well, to no avail
//chunk = chunk.toString();
if(chunk == "expectedinput\n")
console.log("got it!");
process.stdout.write('data: ' + chunk);
});
【问题讨论】: