1

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();
                }
srinath
  • 43
  • 4

0 Answers0