Ввести несколько переменных на разных строках Node js
Подскажите пожалуйста, какие способы решения есть у проблемы: Необходимо ввести пару переменных, а затем, на следующей строке ввести еще несколько переменных, а дальше уже их вычислять. Не могу понять, как это осуществить. Вот что вышло сейчас:
rl.on( 'line', function( data ) {
data = data.split(' ');
const n = +data[0];
const t = +data[1];
florsArr(rl);
});
function florsArr (rl) {
rl.on( 'line', function( flors ) {
flors = flors.data.split(' ');
console.log(flors);
});
};
проблема в том, что как только начинается перевод на новую строку, программа завершается. Есть ли какое то решение данной проблемы?
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Так пойдет?
const readline = require( 'readline' );
const rl = readline.createInterface(process.stdin, process.stdout);
test('Нужно указать пару переменных через пробел')
.then(a => test('Еще, сколько не жалко (так же через пробел)', a))
.then(a => {
rl.close();
console.log(a)
})
.catch(console.log)
//
function test(mes, arr = []) {
return new Promise(res => {
rl.setPrompt(mes + ' ');
rl.prompt();
rl.on( 'line' , data => {
data = data.split(' ');
const n = data[0];
const t = data[1];
res([...arr, data])
});
})
}
Или так...
const readline = require( 'readline' );
const rl = readline.createInterface(process.stdin, process.stdout);
rl.question('Нужно указать пару переменных через пробел ', data1 => {
rl.question('Еще, сколько не жалко (так же через пробел) ', data2 => {
data1 = data1.split(' ');
data2 = data2.split(' ');
console.log(data1, data2)
rl.close();
});
});