Node.js 为什么在尝试为节点js中的fs.readdir创建for循环时出错?

Node.js 为什么在尝试为节点js中的fs.readdir创建for循环时出错?,node.js,Node.js,下面是我的代码片段。我试图创建一个名为photoarray的数组,它将为每个目录保存数组,其中包含每个目录的所有文件。然而,当我运行这个时,我得到了一个错误。当我在没有for循环和硬代码directoriesparsed as directoriesparsed[0]的情况下运行此程序时,它工作正常。请帮忙,谢谢 var photoarray = []; for(z=0; z<directoriesparsed.length; z++){ var Name = [];

下面是我的代码片段。我试图创建一个名为photoarray的数组,它将为每个目录保存数组,其中包含每个目录的所有文件。然而,当我运行这个时,我得到了一个错误。当我在没有for循环和硬代码directoriesparsed as directoriesparsed[0]的情况下运行此程序时,它工作正常。请帮忙,谢谢

var photoarray = [];
for(z=0; z<directoriesparsed.length; z++){
     var Name = [];
     var d = "../public/images/Accepted/" + directoriesparsed[z];
     console.log(d);
     fs.readdir(d, function (err, files) {
         if (err) {
             throw err;
         }
         files.map(function (file) {
             return path.join(d, file);
         }).filter(function (file) {
             return fs.statSync(file).isFile();
         }).forEach(function (file) {
             console.log(file);
             Name.push(file);
             console.log(Name);
         });
         photoarray.push(Name);
         console.log(photoarray);
     });
 }

你的错误是什么?有没有堆栈跟踪与该错误相关?DirectoriesPassed中存储了什么?仅路径字符串?解析的目录包含:['Duncan','Emily','Scott'],我得到的错误是:fs.js:981 return binding.stat(pathModule._makeLong(path));^错误:enoint:没有这样的文件或目录,stat'../public/images/Accepted/Scott/duncan1.jpg'在/home/pi/Node/webserverproject/myapp/backendfiles/testingjson2.js:56:25 at Array.filter(native)的Object.fs.statSync(fs.js:981:18)处出现错误(本机)在FSReqWrap.oncomplete(fs.js:117:15)的/home/pi/Node/webserverproject/myapp/backendfiles/testingjson2.js:55:13中,您是否仔细检查了文件路径是否正确?看起来它在
/home/pi/Node/webserverproject/myapp/public/images/Accepted/Scott/duncan1.jpg
返回fs.statSync(file.isFile()正在引发异常,因为路径不存在。也许您想用try/catch块或其他东西来处理这种情况?
fs.js:981 return binding.stat(pathModule._makeLong(path));
^ Error: ENOENT: no such file or directory, stat '../public/images/Accepted/Scott/duncan1.jpg'
    at Error (native) at Object.fs.statSync (fs.js:981:18)
    at /home/pi/Node/webserverproject/myapp/backendfiles/testingjson2.js:56:25
    at Array.filter (native)
    at /home/pi/Node/webserverproject/myapp/backendfiles/testingjson2.js:55:13
    at FSReqWrap.oncomplete (fs.js:117:15)