Heim >Web-Frontend >js-Tutorial >Wie können Sie Zeitüberschreitungen in JavaScript steuern und verfolgen?

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

DDD
DDDOriginal
2024-10-22 19:22:33625Durchsuche

How Can You Control and Track Timeouts in JavaScript?

Timeouts in JavaScript anhalten und fortsetzen

Wie pausiere ich ein setTimeout()-Timeout und setze es fort?

Sie können umbrechen Verwenden Sie die window.setTimeout-Funktion, um einen benutzerdefinierten Timer zu erstellen, der das Anhalten und Fortsetzen unterstützt.

<code class="javascript">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();
};</code>

Wie erhalte ich die verbleibende Zeit für das aktuelle Timeout?

Das können Sie Verwenden Sie die verbleibende Eigenschaft des benutzerdefinierten Timers, um die verbleibende Zeit für das aktuelle Timeout zu erhalten.

<code class="javascript">var timer = new Timer(function() {
    alert("Done!");
}, 1000);

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

Beispielverwendung:

<code class="javascript">timer.pause();
// Do some stuff...
timer.resume();</code>

Das obige ist der detaillierte Inhalt vonWie können Sie Zeitüberschreitungen in JavaScript steuern und verfolgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn