js渲染循环,一旦满足条件就会中断

dav*_*vid 9 javascript html5 loops canvas

一旦条件满足,如何设置一个中断的setInterval渲染循环?

Nic*_*ver 15

您可以存储间隔ID,并通过清除它clearInterval(),例如

var timer = setInterval(myFunction, 1000);

function myFunction() {
  if(condition) {
    clearInterval(timer);
    return;
  }
  //do stuff
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您可以clearInterval()在设置条件的地方调用,那么下一个间隔不会运行,在函数本身中没有这个逻辑.


kev*_*ner 5

clearIntervalsetInterval使用以下命令返回的ID 停止来自的重复setInterval

var interval = setInterval(function() {
    // do your loop
    if (loop_should_stop) {
        clearInterval(interval);
    }
}, dt);
Run Code Online (Sandbox Code Playgroud)