setInterval在没有var的情况下清除

时间:2013-12-24 19:02:38

标签: javascript node.js setinterval

我正在使用node.js来读取一堆目录,因为async确实让我无法跟踪它。

我正在使用setInterval来跟踪和报告进度,但是在循环中,如果没有某种疯狂的对象组织,我就不能给它一个变量名。

那么,当满足一个陈述时,是否可以清除间隔内的间隔?

setInterval(function(){
  if(list.length==count){
    clearInterval(self)
  }
},50);

基本上“count”是我在扫描目录时递增的计数,list.length是目录中的实际项目数。因为循环将在扫描目录之前完成,所以我必须将它保持在实际循环之外。

我记得有一种方法可以在javascript中调用被调用者,但即使有一点谷歌我似乎无法找到它是否可能。

所以基本上我想清除间隔而不通过变量设置间隔。

1 个答案:

答案 0 :(得分:2)

这样的事情会起作用吗?

(function(){
    var x = setInterval(function(){
        //some if
        clearInterval(x);
    }, 50);
})();

您可以将区间变量的范围限定为内部函数。