如何通过node.js中的控制台输入数据?

如何通过node.js中的控制台输入数据?,node.js,readline,console.readline,Node.js,Readline,Console.readline,虽然类似的问题已经出现,但按照他们的指示,我得到了一个错误。所以我的代码如下 var readline = require('readline').createInterface({ input: process.stdin, output: process.stdout }); var name; readline.question(`What's your name?`, (name)) readline.close() 结果我 { RequestErro

虽然类似的问题已经出现,但按照他们的指示,我得到了一个错误。所以我的代码如下

var readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});

    var name;
    readline.question(`What's your name?`, (name))
        readline.close()
结果我

{ RequestError: Syntax error, permission violation, or other nonspecific error
at StreamEvents.req.once.err

你知道怎么了吗?我使用的是npm readline包

问题的第二个参数应该是回调函数

readline.question('What\'s your name',(name)=>{
    console.log(name)
});

问题的第二个参数应该是回调函数

readline.question('What\'s your name',(name)=>{
    console.log(name)
});
根据,第二个参数应该是回调函数。您当前拥有的是一个未初始化的变量。要修复它,您可以执行以下操作:

const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
});

const response = function (name) {
    console.log('Hello ' + name);
};
readline.question(`What's your name?`, response(name));
readline.close();
(我使用const而不是var来遵守JavaScript/Node的ES6标准)

根据,第二个参数应该是回调函数。您当前拥有的是一个未初始化的变量。要修复它,您可以执行以下操作:

const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
});

const response = function (name) {
    console.log('Hello ' + name);
};
readline.question(`What's your name?`, response(name));
readline.close();
(我使用const而不是var来遵守JavaScript/Node的ES6标准)