Android/iOS 앱을 빌드하는 데 cordova (phonegap)를 사용하고 있습니다. 앱이 데이터를 캐시해야합니다. 서버에서 JSON 파일을받은 다음 처리됩니다 (HTML로 표시되는 데이터).cordova (javascript) file.move 완료 될 때까지 기다려주십시오.
내 문제는이 코드에 있습니다
function moveExercisesJSON(){
console.log("moving exercises json");
var fail = function(err) { console.log(err) }
window.resolveLocalFileSystemURL(fileSave, function(file){
window.resolveLocalFileSystemURL(store, function(store){
file.moveTo(store, "exercises.json");
console.log("done moving");
displayExerciseList();
},fail);
},fail);
}
JSON 파일 (exercises.json)는이 함수가 열릴하는 다운로드 폴더에 다운로드됩니다. 파일은 file.moveTo를 통해 이동합니다. 그런 다음 displayExerciseList()가 열립니다 (json 파일의 데이터를 처리/표시 함).
그러나 file.moveTo가 완료되기 전에 displayExerciseList()가 호출 된 것 같습니다. 그 때문에 나는 한 버전 (새로운 버전이 아직 다운로드 폴더에서 이동되지 않았기 때문에) 처음 .moveTo가 displayExerciseList를 호출하기 전에 끝날 때까지
가 어떻게 기다릴 수 열었을 때 뒤에 항상이다() 타이머 아무튼 ' 나는 영화 파일 (크기가 아주 다른 것)에 대해서도 똑같이해야하기 때문에 해결책이 아닌 것 같다.
당신이 (되는 코르도바 파일 플러그인을 기반으로) this page about HTML5 file API 확인할 수 있지만 코르도바 3.7 – Mirko