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

331
Vistas
¿Se ponen en cola los setInterval() de NodeJS?

Hay un problema clásico con setInterval() en los navegadores: si algún código JS u otro proceso del navegador tarda demasiado en completarse, es posible que se "respalden" varias invocaciones de devolución de llamada y de repente terminas con tu devolución de llamada ejecutada varias veces en rápida sucesión.

A menudo esto no es lo que se desea cuando se usa setInterval() . Es un caso de uso típico cuando desea que AL MENOS algún intervalo de tiempo pase entre invocaciones. La solución a esto es usar setTimeout() en su lugar y solo programar la próxima invocación cuando se complete la anterior.

Esto funciona bien, pero también es un código adicional y puede resultar confuso para alguien que no entiende el problema.

Sé que NodeJS funciona de manera diferente a los navegadores, pero no puedo encontrar información sobre este aspecto en particular. ¿NodeJS también muestra el mismo comportamiento o garantiza un tiempo mínimo entre invocaciones cuando se usa setInterval() ?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Lo parece.

 start = () => { console.log(Date.now(), 'interval started'); setInterval(() => console.log(Date.now(), '-'), 1000); } busy = (n) => { console.log(Date.now(), 'busy started'); for (let i = 1; i < n; i++) Math.sqrt(i, 7); console.log(Date.now(), 'busy done'); } start(); busy(1e10); // this takes a while; nothing is printed, because this keeps the node.js thread busy

Producción:

 1642469880773 interval started 1642469880776 busy started 1642469888272 busy done 1642469888272 - 1642469889273 - 1642469890274 -

Tenga en cuenta la larga brecha entre el inicio ocupado y el hecho, y cómo parece que no se produce una acumulación de devoluciones de llamadas de intervalo.

over 4 years ago · Santiago Trujillo 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