Ya probé setInterval() , parecía perfecto, pero el problema es que no inicia la primera llamada de inmediato y espera X segundos y luego da el valor deseado, ¿hay alguna otra forma o debo ejecutar un ciclo infinito y poner una función de sleep en él?
Si su problema es simplemente que no llama por primera vez, entonces está bien
function doThis(){ console.log("hello"); } const time = 1000; doThis(); // Calls for the first time setInterval(doThis(),time); // Now it starts the samething. //There is another option also for same thing: setInterval(function doThis() { console.log('hello'); return doThis(); }(), time); Pero no se recomienda si function takes longer than delayed time . Más información sobre esta declaración: https://dev.to/akanksha_9560/why-not-to-use-setinterval--2na9
https://chrisblackwell.me/setinterval-is-bad/
function doThis() { console.log("hellow"); setTimeout(doThis, 1500); } doThis(); El problema que ocurre con setInterval no ocurre aquí, porque esto solo programa la siguiente iteración, no todas las futuras.