-
Notifications
You must be signed in to change notification settings - Fork 0
/
2_process_obj_q&a_ app.js
37 lines (34 loc) · 1.01 KB
/
2_process_obj_q&a_ app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const questions = [
"What is your name?",
"What would you rather be doing?",
"What is your preferred programming language?"
];
// ask function will print questions
const ask = (i = 0) => {
process.stdout.write(`\n\n\n ${questions[i]}`);
process.stdout.write(` > `);
};
// Ask 1st question
ask();
// Define array for answers
const answers = [];
// on function is event listener, has two arguments: event name ('data') and event handler function
// data event - when you typed something and pressed enter
process.stdin.on('data', answer => {
answers.push(answer.toString().trim());
if (answers.length < questions.length) {
ask(answers.length);
} else {
// To exit process when all questions were asked
process.exit();
}
});
// Event listener on exit event
process.on('exit', () => {
const [name, activity, language] = answers;
// White spaces with inside backticks will be honored
console.log(`
Thank you for your anwsers.
Go ${activity} ${name} you can write ${language} code later!
`);
});