Me encontré usando setTimeout y clearTimeout para diferentes tipos de funciones, como hacer un temporizador de cuenta regresiva en los botones que muestra cuántos segundos quedan hasta una redirección, o ejecutar algún tipo de funcionalidad cada intervalo aleatorio entre 5 y 20 segundos durante una cierta cantidad de tiempo. digamos 6 segundos.
Si hay alguna biblioteca que simplifique esto en absoluto? Pensé en algún tipo de API que podría funcionar en muchos de estos escenarios:
timer({ timer_type: "count_down", timer_end: 5000, timer_start: 0, interval: 1000, // if interval is 0 then interval becomes random between 1000 and 2000 ms interval_rand_min: 1000, // interval is ignored if this is and interval_rand_max is used interval_rand_max: 1000, before_start_callback: first_callback, main_callback: main_callback, finish_callback: finish_callback })Un temporizador de cuenta regresiva de 5 segundos a 0 que muestra el conteo actual:
timer({ timer_type: "count_down", timer_start: 5000, interval: 1000, main_callback: () => {console.log(i + "seconds left")}, finish_callback: () => {console.log("countdown finished")} })Este es un temporizador de cuenta atrás de 0 segundos a 5 que pone el conteo actual
timer({ timer_type: "count_up", timer_end: 5000, timer_start: 0, interval: 1000, main_callback: () => {console.log(i)}, finish_callback: () => {console.log("finished")} })etc...
¡Cualquier ayuda sería genial!
Eche un vistazo a EasyTimer.js , parece tener casi todo lo que necesita.
Un intervalo aleatorio es algo que realmente debería estar haciendo usted mismo, no es realmente el trabajo de una biblioteca decidir cómo implementarlo específicamente.