我正在浏览器中使用React.js。目前,我们有一个可与带有内部setTimeout的滑块一起使用的库。
我想做一个
window.cleartimeout(ID from internal library set timeout)
无需向库发出“拉取请求”即可公开该ID,是否有任何方法可以获取当前页面的超时并清除上一次应用的超时?
答案 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一起添加。