2016-09-28 2 views
-1

javascript를 사용하여 크롬에서 끌어서 놓기를 통해 여러 파일 및 폴더를 읽는 데 FileReader를 사용하고 있습니다. 그것은 제대로 작동하지만 문제는 모든 파일과 폴더 읽기가 완료된 후에 함수를 호출하고 싶습니다. 비동기 작업이고 FileReaderSync가 크롬에서 지원되지 않기 때문에 할 수 없습니다. 이렇게하는 방법이 있습니까? Javascript에서 FileReaderSync를 사용하지 않고 FileReader Asyncronous를 만드는 방법은 무엇입니까?

, 내 코드를 여기에 사용할 수 있습니다 무엇의 예로서

entry.file(function (file) { 

         var reader = new FileReader(); 
         reader.onloadend = function (e) { 
          data.push(this.result); 

         }; 

         reader.readAsText(file); 
        }); 
+1

: 모든 파일을 읽을되었는지 여부를 확인하고 트릭을 할 수있는 이벤트 리스너를 만들어이 "복사 & 붙여 넣기"변형으로 사용할 수 없습니다입니다. – xAqweRx

+0

이벤트 리스너를 사용하여이 작업을 수행하는 코드를 제공하고 모든 파일을 검사하는 방법은 –

+0

일 수 있습니다. [FileReader API : 파일을 동 기적으로 읽는 방법] 가능한 복제본 (http://stackoverflow.com/questions/8850418/filereader- api-how-to-read-files-synchronously) – Frxstrem

답변

0

. 팁으로

var filesCount = "give here number of files"; 

var callbackFunction = function(){ 
    if(data.length == filesCount){ 
     Console.log("Assume this as the end of all files reading"); 
    } 
} 
entry.file(function (file) { 

    var reader = new FileReader(); 
    reader.onloadend = function (e) { 
     data.push(this.result); 
     callbackFunction(); 
    }; 

    reader.readAsText(file); 
}); 
+0

파일 수는 드래그 앤 드롭 폴더에서 상위 폴더 내에 많은 파일과 폴더가있을 수 있기 때문에 수정되지 않았습니다. 이것이 문제입니다. 그게 내가 너에게 물어볼 필요가없는 수정이라면. –

+0

드롭 이벤트에서이 값을 업데이트 할 수 있습니다. 그게 다야. – xAqweRx

관련 문제