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?