Je ne pense pas qu'il existe un moyen d'énumérer les temporisateurs actifs, mais vous pouvez remplacer window.setTimeout
window.clearTimeout
par vos propres implémentations qui effectuent un suivi et ensuite appeler les originaux.
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);
};
Bien sûr, vous ne pouvez pas toujours appeler clearTimeout
, mais cela vous donnerait au moins un moyen de suivre ce qui se passe à l'exécution.