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

119
Vistas
Cómo configurar el tiempo setInterval dependiendo de la hora del día

Tengo que ejecutar un grupo de funciones de vez en cuando, durante el día tengo que ejecutarlas cada 2 minutos, por la noche deben ejecutarse cada 3 minutos y por la noche deben ejecutarse cada 5 minutos. En este momento los estoy ejecutando así, con cada función ejecutándose cada 2 minutos en todo momento del día.

 const function1 = () => DO_SOMETHING const function2 = () => DO_SOMETHING_ELSE const function3 = () => DO_SOMETHING_ANTOTHER_THING setInterval(() => { function1() }, 1000 * 60 * 2) setInterval(() => { function2() }, 1000 * 60 * 2) setInterval(() => { function3() }, 1000 * 60 * 2)

¿Alguien sabe cómo puedo configurar esto para que la variable de tiempo cambie según la hora del día?

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

0

Esto se puede hacer usando un setTimeout que se activa solo, en lugar de un setInterval .

Visión general:

  • Configure una función que genere su tiempo de espera con la duración correcta para la hora actual usando Date().getHours() para encontrar la hora.
  • Llame a esta función constructora al cargar.
  • Configure una función de resultado y llame a la función de construcción que se encuentra allí también.
  • Agregue el resultado deseado a la función de resultado.

Ejemplo:

(Puede cambiar la definición de "tarde" y "noche" usando las dos declaraciones if)

 // This is required if you ever want to use clearTimeout() let timeoutRefernce = null // Run the desired code after X amount of time const result = () => { // Start a new iteration of the timer newTimeout() // Run your resulting code // eg Call function1, function2 and function3 console.log('Result') } const newTimeout = () => { const time = new Date().getHours() let minutes = 2 // Is it evening? (Between 5pm and 10pm) if (time > 17 && time < 22) { minutes = 3 } // Is it night? (Between 10pm and 6am) if (time > 22 || time < 6) { minutes = 5 } // Create a new timeout with the relevant duration timeoutRefernce = setTimeout(result, 1000 * 60 * minutes) console.log(`Hour: ${time}, New timeout created with duration ${minutes} minutes`) } // Run the first timeout on load newTimeout()

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