i made a recursive function which will get the file details from a share point document library recursively but unable to know whether the recursive function is resolved or completed
//function definition
getFiles = function getFiles(folderUrl) {
var deferred = $.Deferred();
try {
$pnp.sp.web.getFolderByServerRelativeUrl(folderUrl).expand("Folders, Files").get().then(function (r) {
r.Folders.forEach(function (item) {
//recursive call
getFiles(item.ServerRelativeUrl);
});
r.Files.forEach(function (item) {
console.log(item.ServerRelativeUrl);
allfilesrecursive.push(item);
});
deferred.resolve(allfilesrecursive);
}).catch(function (err) {
Errorlog(JSON.stringify(err), 'getFiles catch', 'TestFileUpload.js', fileuploaddetails.currentBrowserURL);
deferred.reject();
});
} catch (err) {
Errorlog(JSON.stringify(err), 'getFiles', 'TestFileUpload.js', fileuploaddetails.currentBrowserURL);
deferred.reject();
}
return deferred.promise();
}