A veces, descubrí que setInterval
será inexacto y poco confiable.
Por ejemplo,
let time = document.querySelector("div"); setInterval(function () { console.log(window.getComputedStyle(time).getPropertyValue("opacity")); time.textContent = parseFloat(time.textContent) + 1; }, 1);
<div>0</div>
El temporizador es mucho más lento que 1 ms, lo que significa que setInterval
no funciona correctamente.
¿Por qué sucede esto?
¿Cuál es una opción alternativa mucho mejor y confiable para setInterval
?
¡Gracias por cualquier respuesta!
setTimeout y setInterval en javascript solo prometen que no se ejecutarán antes de la hora específica. intentan ejecutar su función lo antes posible, pero a veces no pueden hacerlo. No son temporizadores. Son algunas funciones que llaman a una devolución de llamada después de un tiempo que es la cantidad mínima de espera antes de llamar a la función de devolución de llamada. Desafortunadamente, no hay un temporizador preciso en javascript. puedes implementarlo tú mismo.
Editar: puede preguntar cómo:
lea el siguiente hilo: https://stackoverflow.com/a/29972322/12337783