es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Intentando usar setInterval dentro de un scheduleJob y no funciona.

Tengo este código a continuación, y estoy tratando de usar una función dentro de setInterval pero simplemente no funciona … ¿qué estoy haciendo mal?

const trabajo = programación.scheduleJob ({hora: 01, minuto: 56}, () => {
    loop();
});

function loop() {
    var comprobarMinutos = 5,
        comprobarElIntervalo = comprobarMinutos * 60 * 1000;
    var i = 0;
    var intervalo = setInterval (() => {
        i++;
        console.log(i); // Solo estoy intentando ver si el valor i se imprime en la consola ... pero no ..
        //uploadFile();
    }, comprobarElIntervalo);
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema con el código anterior es que la función loop() solo se llama una vez cuando se programa el trabajo job. Como resultado, la función setInterval() dentro de loop() nunca se llama.

    Para solucionar este problema, debe eliminar la función setInterval() de la función loop() y llamarla directamente dentro de la función job de esta manera:

    const job = schedule.scheduleJob({ hour: 01, minute: 56 }, () => {
        var checkminutes = 5;
        var checkthe_interval = checkminutes * 60 * 1000;
        var i = 0;
        var interval = setInterval(() => {
            i++;
            console.log(i); // Sólo intentando ver si el valor de i se imprime en consola ... pero no..
            //uploadFile();
        }, checkthe_interval);
    });
    

    De esta manera, la función setInterval() se llamará cada vez que se ejecute la función job, asegurando que el valor i se imprima en la consola cada checkminutes minutos.

Comments are closed.