Node.js получает пользовательский ввод без печати новой строки - PullRequest
0 голосов
/ 06 декабря 2018

При использовании readline.question() вы всегда получаете новую строку в конце ввода пользователя.Как вы можете удалить этот символ новой строки или не выводить его с начала?

Например, рассмотрите следующий код:

const readline = require("readline");
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: true
});
rl.question("Question: ", line => {
    console.log("?");
});

Ожидаемый:

Question: [User question]?

Факт:

Question: [User question]
?

Это запрашивает у пользователя некоторый текст и добавляет отметку ? в конце ввода пользователя.Но знак ? находится на следующей строке.

1 Ответ

0 голосов
/ 06 декабря 2018

Знак вопроса должен быть частью строки в первом параметре rl.question().Пример из Readline docs :

rl.question('What is your favorite food? ', (answer) => {
  console.log(`Oh, so your favorite food is ${answer}`);
});

Если у вас есть переменная, которую вы хотите использовать, в которой нет символа ?, вы можете сделать:

rl.question(thisVar + '?', line => {
    // do whatever
});
...