gpt4 book ai didi

javascript - 有没有办法检查 var 是否正在使用 setInterval()?

转载 作者:IT王子 更新时间:2023-10-29 03:03:07 26 4
gpt4 key购买 nike

例如,我正在设置一个时间间隔

timer = setInterval(fncName, 1000);

如果我去做

clearInterval(timer);

它确实清除了间隔,但是有没有办法检查它是否清除了间隔?我试过在它有间隔时获取它的值,而在没有间隔时获取它的值,但它们似乎都是数字。

最佳答案

没有直接的方法可以完成您正在寻找的事情。相反,您可以在每次调用 clearInterval 时将 timer 设置为 false:

// Start timer
var timer = setInterval(fncName, 1000);

// End timer
clearInterval(timer);
timer = false;

现在,timer 要么为 false,要么在给定时间有一个值,因此您可以简单地检查

if (timer)
...

如果你想把它封装在一个类中:

function Interval(fn, time) {
var timer = false;
this.start = function () {
if (!this.isRunning())
timer = setInterval(fn, time);
};
this.stop = function () {
clearInterval(timer);
timer = false;
};
this.isRunning = function () {
return timer !== false;
};
}

var i = new Interval(fncName, 1000);
i.start();

if (i.isRunning())
// ...

i.stop();

关于javascript - 有没有办法检查 var 是否正在使用 setInterval()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2679141/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com