"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo se pueden controlar y realizar un seguimiento de los tiempos de espera en JavaScript?

¿Cómo se pueden controlar y realizar un seguimiento de los tiempos de espera en JavaScript?

Publicado el 2024-11-08
Navegar:435

How Can You Control and Track Timeouts in JavaScript?

Pausar y reanudar tiempos de espera en JavaScript

¿Cómo pausar y reanudar un tiempo de espera de setTimeout()?

Puedes finalizar la función window.setTimeout para crear un temporizador personalizado que admita pausar y reanudar.

var Timer = function(callback, delay) {
    var timerId, start, remaining = delay;

    this.pause = function() {
        window.clearTimeout(timerId);
        timerId = null;
        remaining -= Date.now() - start;
    };

    this.resume = function() {
        if (timerId) {
            return;
        }

        start = Date.now();
        timerId = window.setTimeout(callback, remaining);
    };

    this.resume();
};

¿Cómo obtener el tiempo restante en el tiempo de espera actual?

Puede usar la propiedad restante del temporizador personalizado para obtener el tiempo restante en el tiempo de espera actual .

var timer = new Timer(function() {
    alert("Done!");
}, 1000);

console.log("Time remaining:", timer.remaining); // Output: 1000

Uso de ejemplo:

timer.pause();
// Do some stuff...
timer.resume();
Declaración de liberación Este artículo se reproduce en: 1729595895 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3