Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

117
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!