Esse código é rico em conceitos importantes de JavaScript e Node.js. Aqui está o que você deve aprender de fato com ele:
readline/promisesreadline permite criar uma interface para interagir com o usuário no terminal.readline.createInterface.question, que faz parte do readline/promises.const readline = require('readline/promises');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
async/await)async) e a palavra-chave await para lidar com tarefas que podem demorar, como aguardar a entrada do usuário.callbacks ou promises explícitas.async para definir funções assíncronas.await pausa a execução até que uma promessa seja resolvida.async function obterNumero(prompt) {
const input = await rl.question(prompt);
console.log(`Valor recebido: "${input}"`);
}
while (true))while (true) cria um loop infinito para solicitar uma entrada válida do usuário.while para validações contínuas.return para sair do loop.