在我的项目中,我使用了两个setInterval函数,一个函数一直在运行。第二个功能是根据键盘输入动态启动和停止。如何找到第二个setInterval函数的状态(Running或Timeout)?
setInterval(function()
{
if(//want to check state of seInterval Function fire)
{
//somecode
}
},300);
var fire=setInterval(function()
{
// some code
},300);
答案 0 :(得分:7)
最好将 boolean
变量 isRunning
添加到setInterval中的方法中。根据它切换值。使用该值可以跟踪状态。
根据您发布的代码:
isFirstInstanceRunning =true;
isSecondInstanceRunning = false;
setInterval(function() {
//want to check state of seInterval Function fire
if(isFirstInstanceRunning){
//somecode
}
},300);
//--- Pass a boolean parameter as "true" onKeypress
function startSecondInstance(toCheck) {
var fire=setInterval(function() {
//want to check state of seInterval Function fire
if(toCheck){
//somecode
}
},300);
}
//---Similarly when you stop the second method
function stopSecondInstance() {
clearInterval(fire);
isSecondInstanceRunning = false;
}
答案 1 :(得分:2)
不,不是直接,但是你可以设置一个变量来定期检查它是否正在运行:
var isRunning = false;
//Start it
var timer = setInterval(function() {
//yada yada function stuff
isRunning = true;
}, 3000);
//Check it
if (isRunning) console.log("Running!");
//Stop it
clearInterval(timer);
isRunning = false;