从内部库中捕获设置超时?

时间:2018-11-08 14:07:23

标签: javascript html

我正在浏览器中使用React.js。目前,我们有一个可与带有内部setTimeout的滑块一起使用的库。

我想做一个

window.cleartimeout(ID from internal library set timeout)

无需向库发出“拉取请求”即可公开该ID,是否有任何方法可以获取当前页面的超时并清除上一次应用的超时?

1 个答案:

答案 0 :(得分:1)

您可以重写setTimeout函数。

window.timers = [];
window._setTimeout = window.setTimeout;
window.setTimeout = function(f, delay) {
    window.timers.push(window._setTimeout(f,delay));
};

这将为您提供计时器ID列表(不会停止对计时器进行GC操作)。

现在您的问题将是确定哪个id属于哪个计时器...所以我建议您将一些区别信息与计时器id一起添加。