2016-09-28 13 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-ファイルを同期して読み込む方法) – 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

関連する問題