String 我能';t将块与字符串进行比较(nodejs)
当我在控制台中键入“end”时,此函数不会抛出错误,但会将区块(无论我键入什么)作为字符串写入控制台,不会出现任何问题:String 我能';t将块与字符串进行比较(nodejs),string,node.js,stdin,chunks,String,Node.js,Stdin,Chunks,当我在控制台中键入“end”时,此函数不会抛出错误,但会将区块(无论我键入什么)作为字符串写入控制台,不会出现任何问题: process.stdin.on('readable', function() { var chunk = process.stdin.read(); if (chunk == "end") { throw new Error("user has ended script"); } if (chunk !== null) {
process.stdin.on('readable', function() {
var chunk = process.stdin.read();
if (chunk == "end") {
throw new Error("user has ended script");
}
if (chunk !== null) {
process.stdout.write(chunk);
}
});
我确信我肯定错过了一些非常明显的东西。在进行比较之前,我尝试调用块上的
.toString()
,但没有任何区别。不确定,但猜测可能有尾随的换行符或类似的内容。您希望出现什么错误。。这是一条可读的小溪。。输入结尾,看看是否抛出Errnaem,对不起,我的问题不清楚。我希望在键入“end”时抛出错误,但它没有。可能是因为我在脚本chunk.replace(/\r\n | \n | \r/g,”)中添加了这一行
试图排除这一点,但我得到了相同的结果。有没有办法打印字符串及其隐藏符号?(这可能是一种更好的检查方法)当有疑问时,chunk.split(“”.length
)。