Alle Timeouts / Intervalle in Javascript anzeigen?

53

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?

    
Omar Kooheji 13.05.2009, 15:21
quelle

6 Antworten

53

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.

    
Paul Dixon 13.05.2009, 15:27
quelle
24

Ich habe eine Chrome DevTools-Erweiterung erstellt, die alle Intervalle anzeigt. Cleared sind ausgegraut.

setInterval-Sniffer

    
NVI 23.05.2013 15:38
quelle
11

Da Paul nur setTimeout behandelt hat, dachte ich, ich würde einen Zähler für setInterval / clearInterval teilen.

%Vor%     
crv 20.09.2011 15:38
quelle
6

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 .

%Vor%

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:

  • Sie können mit diesem Affen-Patch nur eine Funktion (keine Zeichenfolge) an setTimeout übergeben.
  • Die Funktion nimmt an, dass clearInterval und clearTimeout dasselbe tun, was sie auch tun, aber es könnte sich in der Zukunft ändern.
A1rPun 11.03.2016 10:01
quelle
2
___ qstnhdr ___ Alle Timeouts / Intervalle in Javascript anzeigen? ___ qstntxt ___

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?

    
___ answer16718225 ___

Ich habe eine Chrome DevTools-Erweiterung erstellt, die alle Intervalle anzeigt. Cleared sind ausgegraut.

setInterval-Sniffer

    
___ answer35937155 ___

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 .

%Vor%

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:

  • Sie können mit diesem Affen-Patch nur eine Funktion (keine Zeichenfolge) an %code% übergeben.
  • Die Funktion nimmt an, dass %code% und %code% dasselbe tun, was sie auch tun, aber es könnte sich in der Zukunft ändern.
___ tag123javascript ___ JavaScript (nicht zu verwechseln mit Java) ist eine dynamische Sprache mit mehreren Paradigmen auf hoher Ebene, die sowohl für das clientseitige als auch für das serverseitige Scripting verwendet wird. Verwenden Sie dieses Tag für Fragen zu ECMAScript und seinen verschiedenen Dialekten / Implementierungen (außer ActionScript und Google-Apps-Script). ___ tag123timeout ___ Die Zeitlimitbedingung bezieht sich auf eine vordefinierte Zeitspanne, die verstreichen darf, bevor ein Ereignis eintreten kann. Timeout kann sich auch auf ein Ereignis beziehen, das nach Ablauf einer bestimmten Zeitspanne stattfindet. ___ answer7487846 ___

Da Paul nur setTimeout behandelt hat, dachte ich, ich würde einen Zähler für setInterval / clearInterval teilen.

%Vor%     
___ tag123setinterval ___ setInterval ist eine globale JavaScript-Methode. Es wird verwendet, um eine bestimmte Funktion oder ein Stück Code in regelmäßigen Abständen auszuführen. ___ answer48865555 ___

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).

    
___ antwort43919675 ___

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.

    
___ answer858638 ___

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.

    
___
Ziv polack 11.05.2017 15:25
quelle
0

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).

    
akinuri 19.02.2018 11:47
quelle

Tags und Links