scan : function(url,fileType,callback)
{
var fileTypeCollection = [];
var defer = $q.defer();
url.forEach(function(element, index)
{
//requestLocalFileSystemURL
log(element);
window.resolveLocalFileSystemURL(element,onRequestFileSystem, fail);
log("Ends resolve");
});
function onRequestFileSystem(fileSystem)
{
var directoryReader = fileSystem.createReader();
directoryReader.readEntries(onReadEntries,fail);
} /*onRequestFile Ends*/
function onReadEntries(entries)
{
if(entries.length==0)
{
log("Entries Length....Resolving");
defer.resolve(fileTypeCollection);
}
else
{
entries.forEach(function(element, index)
{
if (element.isDirectory === true)
{
// Recursive -- call back into this subdirectory
onRequestFileSystem(element);
}
if(element.isFile == true)
{
fileType.forEach(function(type)
{
if(element.name.indexOf(type) != -1)
{
fileTypeCollection.push(element);
}
});
} /*is File ENds*/
}); /*Entries For Each Ends*/
}
} /*OnRead Ends*/
function fail(resp)
{
log(resp);
defer.reject();
} /*Fail Ends*/
return defer.promise;
} //Scan Function Ends
이 시도. 당신이 원한다면 약속을 지우고 콜백을 사용하십시오. 당신이 그때 그 ok를 고칠 수 있다면 FileType에 대한 푸시 후 콜백을 사용하십시오
죄송합니다 .. 나는 언급하는 것을 잊어 버렸다고 생각합니다. 하지만 모든 하위 디렉토리에있는 모든 파일을 지나쳐야합니다. 나는 그 질문을 다시 편집 할 것이다. –
다음 reccursively 가서 – shkschneider
각 디렉터리 읽기 readEntries()에서 디렉터리 판독기를 만드는 방법을 알아낼 couldnt. –