jQuery =每x秒执行一次函数,而函数返回false

时间:2018-04-06 19:23:07

标签: javascript jquery function loops do-while

感谢您的关注,抱歉形成了我非常糟糕的英语。

我使用jQuery有一个很好的功能:

function(){
    //do something
    if(certain conditions){
        return true;
    }else{
        return false;
    }
}

该函数运行良好...但我需要每隔X秒执行一次,而函数返回false。如果函数返回true,则必须停止循环。

我不知道该怎么做...你能帮助我吗?提前谢谢......

3 个答案:

答案 0 :(得分:1)

您可以随时使用优质的window.setInterval()

var interval = 500;
function callback(){
  //your function call here
  var result = yourFunction();
  //check if we need to clear the timeout
  if(result == true){
      clearTimeout(handle);
  }
}
var handle = setInterval(callback, interval)

这是一个片段。



var interval = 500;
function callback(){
 //your function call here
  var result = yourFunction();
  //check if we need to clear the timeout
  if(result == true){
    clearTimeout(handle);
  }
}
var handle = setInterval(callback, interval)

function yourFunction(){
  document.write(new Date().toLocaleTimeString())
  if(Math.random() > 0.2){return false}
  else return true;
}




答案 1 :(得分:0)

您可以将setInterval与clearInterval结合使用。

var interval = setInterval(function(){
    if(certain conditions)
    {
        // this will prevent the function from running again
        clearInterval(interval); 
        return true;
    }

    return false;
},1000); // 1000 ms or, 1 sec

答案 2 :(得分:0)

您正在寻找window.setTimeout功能。



function yourFunction(){
    //do something
    if(certain conditions){
        return true;
    }else{
        return false;
    }
}

function loop(){

  if(yourFunction()){
      window.setTimeout(loop, 1000);
  }
}

loop();