String 我能';t将块与字符串进行比较(nodejs)

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) {

当我在控制台中键入“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.stdout.write(chunk);
    }
});

我确信我肯定错过了一些非常明显的东西。在进行比较之前,我尝试调用块上的
.toString()
,但没有任何区别。

不确定,但猜测可能有尾随的换行符或类似的内容。您希望出现什么错误。。这是一条可读的小溪。。输入结尾,看看是否抛出Errnaem,对不起,我的问题不清楚。我希望在键入“end”时抛出错误,但它没有。可能是因为我在脚本
chunk.replace(/\r\n | \n | \r/g,”)中添加了这一行
试图排除这一点,但我得到了相同的结果。有没有办法打印字符串及其隐藏符号?(这可能是一种更好的检查方法)当有疑问时,
chunk.split(“”.length
)。