Node.js if语句未按预期工作

时间:2017-01-15 01:11:02

标签: javascript node.js

我正在学习javascript& Node.js的出于某种原因,这个IF声明无法正常工作,因为我预期...... 我无法弄清楚如何解决这个问题......

我的代码:

process.stdin.setEncoding('utf8');                      //Set UTF charcode

process.stdin.on('readable', () => {                    //Event fires when there's input
    var readConsole = process.stdin.read();             //Receive the input from console

    if(readConsole != null) {
        readConsole.trim().replace(/\r?\n|\r/g, " ");   //Trim input and remove line breaks

        process.stdout.write('Input: ' + readConsole);  //Output the input

        if(readConsole == "quit") {
            process.exit();
        }
    }
});

但出于某种原因,每当我输入"退出"在控制台中,它没有响应。

以下是问题的图片:

enter image description here

1 个答案:

答案 0 :(得分:4)

trim()replace()都返回一个新字符串,但您没有将该值分配给任何变量。您可能想要删除多余的字符,而不是用空格替换它们(感谢@fvgs)。尝试:

readConsole = readConsole.trim().replace(/\r?\n|\r/g, "");