Todavía soy nuevo en Javascript y Nodejs y he estado tratando de acceder a diferentes archivos dentro de diferentes carpetas secundarias de un padre común. Esto es lo que quiero decir con eso
. ├── _captures (parent folder) ├── _folder1 (child 1) │ ├── file1.png │ └── file2.png ├── _folder2 (child 2) │ ├── file1.pngAsí que hice un ciclo for que itera sobre cada carpeta secundaria y usé un fs.readdir anidado que iteraría sobre cada archivo en la carpeta.
El problema es que se llama a fs.readdir solo después de todas las iteraciones y sigue recorriendo solo la última carpeta.
Por ejemplo, si directorios.longitud es igual a 50, recorrerá la última carpeta 50 veces. aquí está el guión
var Directories = getDirectories('.\\captures\\'); for (i = 0; i < Directories.length; i++) { var dirtest = '.\\VisualTests\\' + Directories[i]; var dirref = '.\\captures\\' + Directories[i]; if (!fs.existsSync(dirtest)) { fs.mkdirSync(dirtest); } fs.readdir(dirref, function (err, files) { console.log(dirref); if (err) { console.error("Could not list the directory.", err); process.exit(1); } if (files.length == 0) { console.log("test skipped or pending"); } else { files.forEach(function (file) { console.log(file); }); } }); }¿Cómo puedo hacer que esto funcione?