Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中window.setTimeout或window.setInterval要调用的函数列表?_Javascript_Settimeout_Setinterval - Fatal编程技术网

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

JavaScript中window.setTimeout或window.setInterval要调用的函数列表?,javascript,settimeout,setinterval,Javascript,Settimeout,Setinterval,可能重复: 是否有任何方法可以访问window.setTimeout()或window.setInterval()计划调用的所有函数(或计划求值的字符串)的列表 返回的对象数组与最初调用这些函数时返回的对象数组相同。否。接口不提供任何方法来获取当前排队任务的列表: [Supplemental, NoInterfaceObject] interface WindowTimers { long setTimeout(in any handler, in optional any timeout

可能重复:

是否有任何方法可以访问
window.setTimeout()
window.setInterval()
计划调用的所有函数(或计划求值的字符串)的列表

返回的对象数组与最初调用这些函数时返回的对象数组相同。

否。接口不提供任何方法来获取当前排队任务的列表:

[Supplemental, NoInterfaceObject] interface WindowTimers { long setTimeout(in any handler, in optional any timeout, in any... args); void clearTimeout(in long handle); long setInterval(in any handler, in optional any timeout, in any... args); void clearInterval(in long handle); }; Window implements WindowTimers; [补充,无交互对象] 界面窗口定时器{ long setTimeout(在任何处理程序中,在可选的任意超时中,在任意…参数中); void clearTimeout(在长句柄中); 长setInterval(在任何处理程序中,在可选的任何超时中,在任何…参数中); 空隙间隙(长手柄); }; 窗口实现窗口定时器; 您必须编写自己的代码才能跟踪处理程序。

否。接口不提供任何方法来获取当前排队任务的列表:

[Supplemental, NoInterfaceObject] interface WindowTimers { long setTimeout(in any handler, in optional any timeout, in any... args); void clearTimeout(in long handle); long setInterval(in any handler, in optional any timeout, in any... args); void clearInterval(in long handle); }; Window implements WindowTimers; [补充,无交互对象] 界面窗口定时器{ long setTimeout(在任何处理程序中,在可选的任意超时中,在任意…参数中); void clearTimeout(在长句柄中); 长setInterval(在任何处理程序中,在可选的任何超时中,在任何…参数中); 空隙间隙(长手柄); }; 窗口实现窗口定时器;
为了跟踪处理程序,您必须编写自己的代码。

我认为您不能,除非您为setTimeout和setInterval编写一个包装,并实现在内部调用它们,并将函数推送到数组中。

我认为您不能,除非您为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);

编辑:我想我在这方面有点慢。

我无法回答你的问题(虽然我认为没有办法),但根据你的尝试,你可以编写一个包装函数,然后将其添加到你控制的数组中,或者触发一个你可以放置侦听器的事件,或者

当然,这只能让你控制自己设置定时器的功能

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

编辑:我想我在这方面有点慢。

你能说得更具体些吗。无法理解你的问题。根据我的理解,您可以随时查看API以找到参数。我试图理解JS模块(我没有编写)是如何工作的。我只是想看看它的行为,你能说得更具体些吗。无法理解你的问题。根据我的理解,您可以随时查看API以找到参数。我试图理解JS模块(我没有编写)是如何工作的。只是想看看它的行为。