var getfiles = function (context) {
var scriptPath = '/var/names/myfolder';
fs.readdir(scriptPath, function (err, files) {
if (err) return context.sendJson(err, 404);
var resultingJson = {};
for (var j = 0; j < files.length; j++) {
subfolder = scriptPath + files[j];
console.log(files[j]);// prints art,creation
fs.readdir(subfolder, function (err, fi) {
//fi prints [artdetails.txt,artinfo.txt]
// [creationdetails.txt,create.txt]
// console.log(files[j]);// prints undefined here
resultingJson[files[j]] = fi;
});
}
console.log(resultingJson); // returing {}
context.sendJson(resultingJson, 200);
});
}
Above code is used to fetch files inside subfolder myfolder, it contains art,creation
and inside this art folder contains files artdetails.txt,artinfo.txt
creation folder contains files creationdetails.txt,create.txt
etc.
Folder and files are fetching successfully but I want to generate a JSON
format like this:
{`art':['artdetails',artinfo],'creation':['creationdetails','create']} format
How it is possible?
I used resultingJson[files[j]] = fi;
but it returns{}.
What is wrong with my code?