Wir haben ein Paket veröffentlicht, das genau dieses Problem löst.
%Vor%Damit können Sie sie über %code% object (und JavaScript-Intervalle über %code% object) anzeigen und verwalten.
Ich schreibe eine Anwendung, die JavaScript-Timeouts und Intervalle verwendet, um die Seite zu aktualisieren. Gibt es eine Möglichkeit zu sehen, wie viele Intervalle eingerichtet sind? Ich möchte sicherstellen, dass ich den Browser nicht versehentlich durch hunderte von Intervallen ausschalten werde.
Ist das überhaupt ein Problem?
Ich denke nicht, dass es eine Möglichkeit gibt, aktive Timer aufzulisten, aber Sie könnten window.setTimeout und window.clearTimeout überschreiben und sie durch Ihre eigenen Implementierungen ersetzen, die ein Tracking durchführen und dann die Originale aufrufen.
%Vor%Natürlich können Sie nicht immer clearTimeout aufrufen, aber dies würde Ihnen zumindest eine Möglichkeit geben zu verfolgen, was zur Laufzeit passiert.
Anstatt nur eine Anzahl von Timern zu haben, ist hier eine Implementierung, die alle Timers in einem Array speichert. Es werden nur aktive Timer angezeigt, während die akzeptierte Antwort nur Aufrufe von setTimeout
& amp; clearTimeout
.
So können Sie die Anzahl aktiver Timer auf der Seite abrufen:
%Vor%So können Sie alle aktiven Timer entfernen :
%Vor%Bekannte Einschränkungen:
setTimeout
übergeben. clearInterval
und clearTimeout
dasselbe tun, was sie auch tun, aber es könnte sich in der Zukunft ändern. Ich schreibe eine Anwendung, die JavaScript-Timeouts und Intervalle verwendet, um die Seite zu aktualisieren. Gibt es eine Möglichkeit zu sehen, wie viele Intervalle eingerichtet sind? Ich möchte sicherstellen, dass ich den Browser nicht versehentlich durch hunderte von Intervallen ausschalten werde.
Ist das überhaupt ein Problem?
Ich habe eine Chrome DevTools-Erweiterung erstellt, die alle Intervalle anzeigt. Cleared sind ausgegraut.
Anstatt nur eine Anzahl von Timern zu haben, ist hier eine Implementierung, die alle Timers in einem Array speichert. Es werden nur aktive Timer angezeigt, während die akzeptierte Antwort nur Aufrufe von timeoutCollection
& amp; intervalCollection
.
So können Sie die Anzahl aktiver Timer auf der Seite abrufen:
%Vor%So können Sie alle aktiven Timer entfernen :
%Vor%Bekannte Einschränkungen:
Da Paul nur setTimeout behandelt hat, dachte ich, ich würde einen Zähler für setInterval / clearInterval teilen.
%Vor%Ich brauchte gerade so etwas und das habe ich zusammengestellt:
%Vor%Dies zeichnet die Intervall-IDs zusammen mit ihren Funktionen auf und verfolgt deren Status (aktiv / inaktiv).
Wir haben ein Paket veröffentlicht, das genau dieses Problem löst.
%Vor%Damit können Sie sie über %code% object (und JavaScript-Intervalle über %code% object) anzeigen und verwalten.
Ich denke nicht, dass es eine Möglichkeit gibt, aktive Timer aufzulisten, aber Sie könnten window.setTimeout und window.clearTimeout überschreiben und sie durch Ihre eigenen Implementierungen ersetzen, die ein Tracking durchführen und dann die Originale aufrufen.
%Vor%Natürlich können Sie nicht immer clearTimeout aufrufen, aber dies würde Ihnen zumindest eine Möglichkeit geben zu verfolgen, was zur Laufzeit passiert.
Tags und Links javascript timeout setinterval