constreadline=require("readline")constreadlineInterface=readline.createInterface({ input:process.stdin, output:process.stdout})readlineInterface.question("What is your name? ",name=>{readlineInterface.question("What is your job? ",job=>{readlineInterface.question("How old are you? ",age=>{console.log("Hello "+ name +". You are a "+ age +" year old "+ job +".")readlineInterface.close()})})})
const readline = require("readline")
const readlineInterface = readline.createInterface({
input: process.stdin,
output: process.stdout
})
async function main() {
const name = await askQuestion(realineInterface, "What is your name? ")
const job = await askQuestion(realineInterface, "What is your job? ")
const age = await askQuestion(realineInterface, "How old are you? ")
console.log("Hello " + name + ". You are a " + age + " year old " + job + ".")
readlineInterface.close()
}
main()
function askQuestion(readlineInterface, question) {
return new Promise(resolve => {
readlineInterface.question(question, answer => {
resolve(answer)
})
})
}
// async.js
const askQuestion = require("./askQuestion")
async function main() {
const name = await askQuestion("What is your name? ")
const job = await askQuestion("What is your job? ")
const age = await askQuestion("How old are you? ")
console.log(`Hello ${name}. You are a ${age} year old ${job}.`)
}
main()
// askQuestion.js
const readline = require("readline")
function askQuestion(question) {
const readlineInterface = readline.createInterface({
input: process.stdin,
output: process.stdout
})
return new Promise(resolve => {
readlineInterface.question(question, answer => {
resolve(answer)
readlineInterface.close()
})
})
}
module.exports = askQuestion