Я пытаюсь получить ввод с клавиатуры, вызывая функцию, которая использует встроенный модуль readline, но кажется, что цикл "не ждет" для завершения каждого вызова функции.
Предполагается, что основная функция печатает 4 различных введенных числа.
Я пытался использовать async-await в своей основной функции, но результат был тот же.Асинк-ожидание даже нужно для этого?
Я использую команду node input.js
в терминале для запуска программы.Нет HTML.
function getInput(question) {
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question(question, function (x) {
var aString = parseInt(x);
rl.close();
entered = true;
return aString;
});
}
async function main() {
var i = 0;
var myGuess;
while (i <= 3) {
myGuess = await getInput("Enter something: ");
console.log(myGuess);
i++;
}
}
main();
Я ожидаю увидеть:
Enter something: 3 // just entering random numbers
3
Enter something: 9
9
Enter something: 12
12
Enter something: 55
55
Но я получаю:
Enter something: undefined
Enter something: undefined
Enter something: undefined
Enter something: undefined
2222 // I only got to enter 2...