可能的重复项:
JavaScript - 是否可以查看所有当前计划的超时?
有没有办法访问计划由window.setTimeout()
或window.setInterval()
调用的所有函数(或计划评估的字符串)的列表?
最初调用这些函数时返回的对象相同的对象数组的东西。
No.WindowTimers
接口不提供任何方法来获取当前排队任务的列表:
[补充,无接口对象]接口窗口计时器 { 长设置超时(在任何处理程序中,在可选任何超时中,在任何...参数); 无效清除超时(在长句柄中); 长设置间隔(在任何处理程序中,在可选任何超时中,在任何...参数); 空清除间隔(在长手柄中);};窗口实现窗口计时器;
您必须编写自己的代码才能跟踪处理程序。
我认为你不能,除非你为 setTimeout 和 setInterval 编写一个包装器,并在内部实现调用它们并将函数推送到数组
我无法回答你的问题(虽然我认为没有办法),但根据你想做什么,你可以写一个包装函数,然后将其添加到你控制的数组中,或者触发一个你可以放置侦听器的事件,或者......
当然,这只会让您控制自己设置计时器的功能。
var stack = new Array();
window.mySetTimeout = function (func, delay) {
stack.push(func);
window.setTimeout(func, delay);
}
function doSomething () {
return true;
}
window.mySetTimeout(doSomething, 500);
console.log(stack);
编辑:我想我在那里有点慢。