Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

203
Vistas
Un mejor enfoque para solicitar datos del servidor cada x minuto

Sé que puedo usar setInterval para enviar una solicitud al servidor cada 1 minuto para ver si se agregó algo nuevo a la base de datos para poder buscarlo y actualizar la interfaz de usuario de acuerdo con esto

pero por lo que he leído de diferentes artículos me confundí algunos dicen que es una mala práctica y otros lo usan

Entonces, estoy preguntando aquí para ver si hay un mejor enfoque para lograr esto o setInterval manejará la misión sin ningún problema.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Bueno, si tuviera que saber si algo ha cambiado, pensaría en usar sockets como una mejor opción. Por supuesto, si su servidor está listo para implementar este tipo de mecanismo.

Si no tiene la oportunidad de cambiar la lógica en el servidor (API de terceros o algo así), establezca Timeout en las soluciones más comunes de la práctica.

Pero con este tipo de soluciones tienes algunas advertencias:

  • debe manejar por sí mismo cuándo borrar su tiempo de espera; si no lo hace, al menos tendrá pérdidas de memoria;
  • algo nunca cambiaría, gran cantidad de datos: este tipo de optimizaciones debe implementarse con estrategias de almacenamiento en caché;
  • no estoy seguro acerca de la seguridad: los servidores pueden bloquear su aplicación debido a DDOS en el caso de que muchos de sus usuarios trabajen con este servicio;

setTimeout por sí mismo está bien. Depende de su situación si hay soluciones mejores o más apropiadas.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede configurar un cronjob simple.
Ya sea que lo use desde su VPS o alojamiento compartido (la mayoría de ellos tienen cron instalado), ya sea que pueda usar un servicio en línea gratuito como cron-job.org.

No hay problema con setInterval y setTimeout, pero no olvides que JS es monohilo y elegir el que corresponda a nuestras necesidades, dado que la diferencia entre ellos es importante.

Este punto interesante no es mío:

Lo de setInterval es menos un consejo de rendimiento pero más una mejor práctica de concurrencia. setInterval tiene el potencial de ejecutar código prematuramente cuando lo espera.

P.ej,

 function doSomething () { // I take 500 ms to run } doSomething(); setInterval(doSomething, 150);

Este fragmento de código se ejecutará en la próxima iteración doSomething inmediatamente después de que termine de ejecutar la iteración actual. ¡El temporizador de intervalos nunca se detiene! Esto tiene el potencial de congelar su entorno de tiempo de ejecución al ejecutar continuamente su código y no permitir que el sistema haga otras cosas.

 function doSomething () { // I take 500 ms to run setTimeout(doSomething, 150); } doSomething();

Aunque esto parece esencialmente lo mismo, la diferencia es que doSomething siempre esperará 150 ms después de ejecutarse antes de volver a poner en cola la siguiente iteración para su ejecución. Esto permite que el sistema ejecute otras operaciones y evita que su tiempo de ejecución se bloquee. https://www.reddit.com/r/javascript/comments/51srsf/is_it_still_true_that_we_shouldnt_use_setinterval/

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda