Как вводить данные через консоль в node.js? - PullRequest
0 голосов
/ 10 ноября 2018

Хотя подобные вопросы уже появились, следуя их инструкциям, я получаю ошибку. Итак, мой код выглядит следующим образом

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

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Согласно документации , второй аргумент должен быть функцией обратного вызова. В настоящее время у вас есть неинициализированная переменная. Чтобы это исправить, вы можете сделать что-то вроде этого:

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, чтобы придерживаться стандартов ES6 для JavaScript / Node)

0 голосов
/ 10 ноября 2018

Вторым аргументом вопроса должна быть функция обратного вызова

readline.question('What\'s your name',(name)=>{
    console.log(name)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...