JavaScript 中要由 window.setTimeout 或 window.setInterval 调用的函数列



可能的重复项:
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);

编辑:我想我在那里有点慢。

最新更新