'How can I make rl (or prompts) return the value of what the user inputs
How can I get rl.question to return the value that the user inputs, my code looks like this:
const readline = require('readline');
const { stdin: input, stdout: output } = require('process');
const rl = readline.createInterface({ input, output });
console.log(rl.question("hello?",(answer) => {return answer}))
I know there are probably better modules to use if I want a python-style input function, but 'prompts' seems to have the same problem.
Solution 1:[1]
I'm not super sure what you are asking, so let me know if this isn't it.
To console.log() the answer from a ReadLine question there are multiple methods, here are some.
try moving the console.log inside of the {}
rl.question('hello? ', (answer) => {
console.log(answer);
// ... whatever you want to do with the answer variable
})
or you can use async/await with promise
async function AskQuestion() {
return new Promise(async (resolve, reject) => {
rl.question('Hello? ', (answer) => {
resolve(answer);
});
});
}
and then just await the function somewhere
(async () => {
let answer = await AskQuestion();
console.log(answer);
})();
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
