没有var的情况下清除setInterval

我正在使用node.js来读取一堆目录,因为这样的同步确实伤害了我来跟踪这一切。

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

那么是否有可能只是在满足语句的时间间隔内清除间隔?

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

基本上“计数”是一个计数,我增加了我扫描目录和list.length是目录中的项目的实际数量。 因为循环将在扫描目录之前完成,所以我必须将这个保留在实际的循环之外。

我记得有一种方法来调用JavaScript中的被调用者,但即使有一点谷歌我似乎无法find如果可能的。

所以基本上我想要清除间隔,而不通过variables设置间隔。

会这样的工作吗?

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

您可以将您的区间variables的范围限制在内部函数中。