循环中的循环



好的,所以我需要在循环中运行超时,而不需要再次调用循环。内部循环需要是一个超时

(function loaded() {
for(var i=0;i<100; i++){
  if(!SOMECONDITION){
     setTimeout(loaded, 1);
  }
}
})();

这段代码几乎工作完美,除了如果不满足条件,它会召回整个循环。我只需要它像这样在循环中回忆…但是这行不通。

    for(var i=0;i<100; i++){
(function loaded(i) {
      if(!SOMECONDITION){
         setTimeout(loaded, 1);
      }
})(i);
    }

变量I必须能够在循环中传递。

有点复杂,也许有人能够简化,但是…我认为你需要两个函数,一个将i捕获到闭包中,一个没有参数,因此可以将其作为超时调用。

for (var i = 0; i < 100; i++) {
  (function(i) {
    function loaded() {
      if (!SOMECONDITION) {
        setTimeout(loaded, 1);
      }
    };
    loaded();
  })(i);
};

相关内容

  • 没有找到相关文章

最新更新