2013-12-09 4 views
0

내 Windows 8 응용 프로그램에서 응용 프로그램에서 사용하기 위해 저장 한 LocalState 폴더에 저장된 모든 캐시 된 문서를 제거하려고합니다.LocalState 폴더에서 WinJS 삭제 폴더

var deleteFolderPromise = Windows.Storage.ApplicationData.current.localFolder.deleteAsync("\\fileName").done(

    function (result) { 
     console.log("File removed: " + Windows.Storage.ApplicationData.current.localFolder.path + "\\fileName"); 
    }, 
    function (error) { 
     console.log("File not removed" + error); 
    }); 

이 코드가 실행될 때마다 deleteAsync()에서 지정한 폴더 나 파일이 아닌 전체 LocalState 폴더가 삭제됩니다. 지정된 폴더 나 파일 만 제거하도록 코드를 수정하려면 어떻게해야합니까? getFileAsync()/getFolderAsync()를 사용하고 그 결과를 deleteAsync() 메소드의 매개 변수로 전달해야합니까?

답변

2

deleteAsync 폴더는이를 호출하는 StorageFolder에서 작동하는 인스턴스 메서드입니다. 귀하의 경우에는 localFolder 객체에서이 객체를 호출하므로 해당 폴더가 삭제 된 것을 볼 수 있습니다.

는 대신, 다음, 그것에서 당신이 원하는 특정 StorageFolder를 획득 한 후, 먼저 로컬 폴더를 얻을 당신이 의심으로 deleteAsync의 를 호출 할 필요, 즉 :

Windows.Storage.ApplicationData.current.localFolder.getFolderAsync("folder_name").then(function (folder) { 
    return folder.deleteAsync(); 
}).done(function() { 
    //Success 
}, function (err) { 
    //Error 
});