I'm writing an application that utilizes JavaScript timeouts and intervals to update the page. Is there a way to see how many intervals are setup? I want to make sure that I'm not accidentally going to kill the browser by having hundreds of intervals setup.
Is this even an issue?
The global clearTimeout() method cancels a timeout previously established by calling setTimeout() .
In JavaScript, a block of code can be executed in specified time intervals. These time intervals are called timing events. There are two methods for executing code at specific intervals.
Category: Control. Clears an existing timer by passing in the numeric value returned by setTimeout(). Sometimes you need to clear a timeout timer before it executes. clearTimeout() uses the value returned by the setTimeout(function, milliseconds) function.
There are two timer functions in JavaScript: setTimeout() and setInterval() . The following section will show you how to create timers to delay code execution as well as how to perform one or more actions repeatedly using these functions in JavaScript.
I don't think there is a way to enumerate active timers, but you could override window.setTimeout
and window.clearTimeout
and replace them with your own implementations which do some tracking and then call the originals.
window.originalSetTimeout = window.setTimeout; window.originalClearTimeout = window.clearTimeout; window.activeTimers = 0; window.setTimeout = function(func, delay) { window.activeTimers++; return window.originalSetTimeout(func, delay); }; window.clearTimeout = function(timerID) { window.activeTimers--; window.originalClearTimeout(timerID); };
Of course, you might not always call clearTimeout
, but this would at least give you some way to track what is happening at runtime.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With