„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie können Sie Zeitüberschreitungen in JavaScript steuern und verfolgen?

Wie können Sie Zeitüberschreitungen in JavaScript steuern und verfolgen?

Veröffentlicht am 08.11.2024
Durchsuche:819

How Can You Control and Track Timeouts in JavaScript?

Zeitüberschreitungen in JavaScript anhalten und fortsetzen

Wie kann ich eine setTimeout()-Zeitüberschreitung anhalten und fortsetzen?

Sie können umbrechen die window.setTimeout-Funktion zum Erstellen eines benutzerdefinierten Timers, der das Anhalten und Fortsetzen unterstützt.

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();
};

Wie erhalte ich die verbleibende Zeit des aktuellen Timeouts?

Sie können die verbleibende Eigenschaft des benutzerdefinierten Timers verwenden, um die verbleibende Zeit des aktuellen Timeouts abzurufen .

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

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

Beispielverwendung:

timer.pause();
// Do some stuff...
timer.resume();
Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729595895 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3