Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

256
Visualizações
¿Cómo leer la entrada del usuario desde la terminal antes de presionar enter usando nodo y javascript?

¿Cómo leer la entrada del usuario desde la terminal antes de presionar enter usando nodo y javascript?

Creé una aplicación javascript simple que usa process.stdin o readline para obtener la entrada del usuario, pero no quiero que el usuario tenga que enviar su entrada con enter/return. Me gustaría leer la entrada del usuario en keydown/keypress. es posible? ¿Cómo podría lograr esto? ¡Gracias!

Requisitos:

  • javascript, nodo
  • desde la terminal
  • no se requiere que el usuario envíe una cadena con enter/return

Preferir:

  • menos bibliotecas, más vainilla javascript
  • maneja cualquier tecla: letras, números, teclas de flecha, modificadores
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Una manera fácil de hacerlo podría ser con el paquete iohook .

La forma nativa de Node.JS de hacerlo sería así.

 require("readline").emitKeypressEvents(process.stdin); process.stdin.setRawMode(true); process.stdin.on("keypress", (char, evt) => { console.log("=====Key pressed====="); console.log("Char:", JSON.stringify(char), "Evt:", JSON.stringify(evt)); if (char === "h") console.log("Hello World!"); if (char === "q") process.exit(); });

La primera línea, require("readline").emitKeypressEvents(process.stdin) hace que process.stdin emita eventos de pulsación de tecla, ya que normalmente no emite el evento.

El segundo, process.stdin.setRawMode(true) convierte a process.stdin en un dispositivo sin procesar. En un flujo configurado de dispositivo sin procesar, los eventos de pulsación de tecla se emiten por carácter, en lugar de emitirse por pulsación de tecla Intro.

Luego, el detector de eventos de keypress de teclas se agrega a process.stdin para manejar las pulsaciones de teclas.

Nota

Cuando process.stdin se convierte en un dispositivo sin formato, Ctrl+C no emite una señal SIGINT , en otras palabras, Ctrl+C no detendrá el programa. Esto significa que deberá vincular manualmente una clave para salir.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda