Aktive Timeouts mit Javascript steuern
Die Verwaltung aktiver Timeouts in Javascript ist für verschiedene Anwendungen oft notwendig. Es kann vorkommen, dass eine laufende Zeitüberschreitung angehalten und fortgesetzt werden soll. Darüber hinaus kann es in bestimmten Szenarien nützlich sein, die verbleibende Zeit einer aktuellen Zeitüberschreitung zu ermitteln.
Eine Zeitüberschreitung anhalten und fortsetzen
Um eine aktive Zeitüberschreitung anzuhalten, kann man Folgendes verwenden: verpackte Version von window.setTimeout. Dieser Wrapper führt eine Timer-Klasse ein, die Pause- und Resume-Methoden bereitstellt. Hier ist ein Beispiel:
<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>
Um diese Klasse zu verwenden, erstellen Sie eine Timer-Instanz und übergeben Sie die Rückruffunktion und die Verzögerung als Argumente. Verwenden Sie dann nach Bedarf die Methoden „Pause“ und „Fortsetzen“.
Verbleibende Zeit bei Zeitüberschreitung abrufen
Leider gibt es keine native Möglichkeit, die verbleibende Zeit bei einer aktuellen Zeitüberschreitung abzurufen in Javascript. Sie können diese Funktionalität jedoch emulieren, indem Sie den aktuellen Zeitstempel speichern, wenn das Timeout eingestellt ist, und dann die verbleibende Zeit berechnen, indem Sie diesen Zeitstempel von der aktuellen Zeit subtrahieren.
Das obige ist der detaillierte Inhalt vonSo steuern Sie aktive Zeitüberschreitungen in Javascript: Anhalten, Fortsetzen und Abrufen der verbleibenden Zeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!