2016-10-12 53 views
0

有没有一种方法来计算一个文件夹中的所有目录与文件系统api没有被卡在一个无限循环!?检索所有目录与文件系统api

无法弄清漏洞的原因或漏洞,但最终必须在应用程序达到50K后退出应用程序 - 它看起来似乎并没有达到终点。我在OS X上,所以它计算了所有隐藏的目录和文件,如DS Store?

//path: my folder 
app.workspace.getDirectory(path, {}, function(directory){ 
    var reader = directory.createReader(); 
    if(directory){ 
     reader.readEntries(function(entries){ 
      for(var i = 0; entries.length; i++) { 
       if(entries.isDirectory){ 
        console.log('Directory: ', entries[i]); 
       } 
       else { 
        //don't need to know anything else... 
       } 
      } 
     }); 
    } 
}, error); 

回答

3

您的循环从不检查ientries.length当迭代。

修改 for(var i = 0; entries.length; i++)
for(var i = 0; i < entries.length; i++)

此外,我认为if(entries.isDirectory)
应该if(entries[i].isDirectory)

+0

我忍不住大笑!这是漫长的一天......谢谢。 –

0

您可以尝试bro-fs唯一可以递归读取目录:

fs.readdir('dir', {deep: true}) 
    .then(tree => console.log(tree)) 
相关问题