我正在使用node.js来读取一堆目录,因为async确实让我无法跟踪它。
我正在使用setInterval来跟踪和报告进度,但是在循环中,如果没有某种疯狂的对象组织,我就不能给它一个变量名。
那么,当满足一个陈述时,是否可以清除间隔内的间隔?
setInterval(function(){
if(list.length==count){
clearInterval(self)
}
},50);
基本上“count”是我在扫描目录时递增的计数,list.length是目录中的实际项目数。因为循环将在扫描目录之前完成,所以我必须将它保持在实际循环之外。
我记得有一种方法可以在javascript中调用被调用者,但即使有一点谷歌我似乎无法找到它是否可能。
所以基本上我想清除间隔而不通过变量设置间隔。
答案 0 :(得分:2)
这样的事情会起作用吗?
(function(){
var x = setInterval(function(){
//some if
clearInterval(x);
}, 50);
})();
您可以将区间变量的范围限定为内部函数。