Как предоставить ответ по умолчанию для readline в node.js - PullRequest
2 голосов
/ 06 марта 2012

js для создания мастера командной строки.

Мастер задает некоторый вопрос пользователю, используя метод rl.question (запрос, обратный вызов) .

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

Примерно так:

Какой ваш любимый цвет?Red_

если пользователь нажмет ввод: ответ будет красным, если пользователь изменит красный на зеленый: ответ будет зеленым, если пользователь отменит красный и нажмет ввод: ответ будет "" имастер перейдет к следующему вопросу.

Знаете ли вы, как сделать что-то подобное с Node.js?

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Вы можете использовать rl.write после вызова rl.question, чтобы добавить значение tty по умолчанию.

Пример:

var readline = require('readline'),
rl = readline.createInterface(process.stdin, process.stdout);

rl.question('What is your favorite food? ', function(answer) {
        console.log('Oh, so your favorite food is ' + answer);
});
rl.write('Pizza');
0 голосов
/ 01 января 2019

Самый простой способ:

rl.question(query, answer => {
   answer = answer || 'Red';
)

Просто переопределите регистр ответов с пустой строкой.

...