A abordagem com uso do módulo readline
e uso de callback funciona, mas é verborrágica.
Uma alternativa mais limpa é trabalhar de forma síncrona com o prompt através do módulo prompt-sync
. Este módulo é uma função que cria funções de prompt.
⚠️ Primeiramente, é necessário instalar esse módulo através do TERMINAL:
$ npm install prompt-sync
[EXEMPLO] Programa para calcular a área de uma elipse com leitura de dados do usuário.
const prompt = require('prompt-sync')() const r1 = parseFloat(prompt('r1? ')) const r2 = parseFloat(prompt('r2? ')) const fareaEli = (x, y, pi=3.14) => pi*x*y const resultado = fareaEli(r1,r2) console.log(`Área da elipse é ${resultado}!`)
⚠️ Para executar o código acima no VSCode, por exemplo, é preciso acessar o TERMINAL e executar o referido código através do comando a seguir (naturalmente, você deve estar no subdiretório onde seu arquivo .js está presente):
$ node nomedoarquivo.js