NodeJS:仅当另一个变量为true时才有一个setInterval循环

时间:2018-07-28 04:31:27

标签: javascript node.js variables setinterval

function setNormal() {
    console.log(1)
}

function setAlert() {
    console.log(2)
}

function alertFunction() {
    alertVar = setInterval(alertFunc, 600);
}

function alertFunc() {
    setAlert()
    setTimeout(setNormal, 300)
}
alertFunction()
});

如何使函数alertFunction()仅在(例如)var loop = 1时运行,然后在var loop = 0时停止运行?

(这是我对stackoverflow的第一篇文章,对不起,如果我做错了)

2 个答案:

答案 0 :(得分:1)

将setTimeout与条件一起使用。

var x = 1;

setTimeout(function foo(){
  // this is a named function expression, foo name only exists inside itself
  if(x!==0){
     // do some code
     console.log("Hello");
     setTimeout(foo,1000);
  }
},1000);

setTimeout(function(){
   // change x after 3 seconds
   x = 0;
},3000);

您还可以使用清除间隔来执行相同的操作

var x = 1;

var interval = setInterval(function (){
  if(x!==0){
     // do some code
     console.log("Hello");
  }else{
     clearInterval(interval)
  }
},1000);

setTimeout(function(){
   // change x after 3 seconds
   x = 0;
},3000);

答案 1 :(得分:0)

像它一样使用:-

var alertVar;
function alertFunction() {
    alertVar = setInterval(alertFunc, 600);
}
function myStopFunction() {
    clearInterval(alertVar);
}
if(lool=1){
   alertFunction();
}
if(lool=0){
   myStopFunction();
}