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

119
Visualizações
Cambiar entre bucles while con socket.io y express

Tengo una aplicación express que ejecuta socket.io en mi raspberry pi que controla un panel LED. Para controlar el panel, tengo un bucle while que actualiza constantemente los píxeles del panel. Quiero poder cambiar los parámetros de ese bucle o cambiar a un bucle diferente para controlar qué animación muestra el panel.

¿Cuál es la mejor manera de hacer esto? Cuando he intentado simplemente pasar un nuevo mensaje socket.io al servidor, el mensaje no se recibe porque está bloqueado por el bucle. Puedo iniciar la primera animación de esta manera pero los mensajes subsiguientes están bloqueados.

Puedo proporcionar fragmentos de código si es necesario.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En lugar de un bucle, use una función que se llame asíncronamente al final. Esto permite que los eventos como los mensajes de socket.io se manejen antes de la siguiente ejecución de la función.

La siguiente página HTML ilustra la idea. El bucle incrementa un contador cada segundo y al presionar el botón, puede aumentar el incremento.

 <!DOCTYPE html><html> <head> <script type="text/javascript"> var counter = 0, increment = 1; function loop() { counter += increment; document.querySelector("span").textContent = counter; setTimeout(loop, 1000); } </script> </head> <body onload="loop()"> <span></span> <button onclick="increment++">Count faster</button> </body> </html>

Aquí, setTimeout(loop) es "suficientemente asíncrono" para permitir eventos de clic, mientras que Promise.resolve().then(loop) no lo sería. Como dice el comentario a continuación, su código es necesario para juzgar cómo funciona para sus eventos.

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