在 javascript 中定期暂停 setInterval 循环
Periodic pausing of a setInterval loop in javascript
我想知道是否有办法 "pause" 一个 javascript setInterval
命令然后在几秒钟后恢复它,然后通过循环,暂停一段时间同时,再次开始循环,再次暂停等等?换句话说,当一个逻辑条件正确时,暂停一段设定的时间,然后再拿起?
使用伪代码,我在想这样的事情:
setInterval(fn, 1000);
pausecondition = false;
fn()
{
// do stuff, including pausecondition
if (pausecondition == true)
{
// pause for two seconds
// pausecondition = false
}
}
我正在尝试的是每 1000 毫秒工作一次的 setInterval
,然后当暂停条件为真时,函数暂停两秒,然后 setInterval 像以前一样每 1000 毫秒恢复一次。
像这样使用setTimeout
函数怎么样?
var pausecondition = false;
var fn = function (){
if (pausecondition) {
setTimeout(function(){
pausecondition = false;
fn();
}, 2000);
} else {
// no pause, run logic
}
}
setInterval(fn, 1000);
var pauseCondition = {
enabled: false,
counter: 0,
countTo: 2,
};
增加并检查计数器 >= countTo
我想知道是否有办法 "pause" 一个 javascript setInterval
命令然后在几秒钟后恢复它,然后通过循环,暂停一段时间同时,再次开始循环,再次暂停等等?换句话说,当一个逻辑条件正确时,暂停一段设定的时间,然后再拿起?
使用伪代码,我在想这样的事情:
setInterval(fn, 1000);
pausecondition = false;
fn()
{
// do stuff, including pausecondition
if (pausecondition == true)
{
// pause for two seconds
// pausecondition = false
}
}
我正在尝试的是每 1000 毫秒工作一次的 setInterval
,然后当暂停条件为真时,函数暂停两秒,然后 setInterval 像以前一样每 1000 毫秒恢复一次。
像这样使用setTimeout
函数怎么样?
var pausecondition = false;
var fn = function (){
if (pausecondition) {
setTimeout(function(){
pausecondition = false;
fn();
}, 2000);
} else {
// no pause, run logic
}
}
setInterval(fn, 1000);
var pauseCondition = {
enabled: false,
counter: 0,
countTo: 2,
};
增加并检查计数器 >= countTo