【发布时间】:2017-02-01 17:45:45
【问题描述】:
好吧,我正在尝试将一个简单的 if 语句传递给 NodeJS 中的 process.stdin 可读流。但这似乎不起作用。这是代码:
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk !== null && chunk == 'foo') {
process.stdout.write('true\n');
} else if (chunk !== null) {
process.stdout.write('false\n');
}
有谁知道,我在这里做错了什么?我也试过chunk == 'foo\n',但是没有运气。它唯一有效的时候是我将块值设置为一个数字,比如chunk == 10。
【问题讨论】:
-
“它似乎没有 [to be] 工作”是什么意思?输入是什么?
chunk的实际值是多少? (当你做console.log(chunk)时你会得到什么)? -
当您在 process.stdin 上键入 'foo' 时,该块为
<Buffer 66 6f 6f 0a>,因此您可以使用if(chunk.toString()==='foo\n'),它给出了true
标签: javascript node.js stdin