0
私はファイルのFileListを持っているので、それらをすべて配列に読み込む必要があります。 [fileData1, fileData2]
、私はすべてのファイルをバックエンドに要求することができます。私はすべての非同期操作に悩まされているし、物事が完了するのを待つ方法がわからない。私はバックエンドにリクエストを行うことができる時を検出する方法が必要です。私はプログラミングの機能的な方法でこれを作りたいと思っています。申し訳ございませんが質問が不明な場合。FileReaderで複数のファイルを読み込み、filedatasの配列を取得
function read_files(cur_file) {
if (cur_file < files.length) {
// read the next file
const fr = new FileReader();
fr.readAsDataURL(files[cur_file]);
fr.addEventListener('load', (event) => {
// extract the file data from event here
read_files(cur_file+1);
}
}
else {
// we've read all the files
// send the request
}
}
read_files(0);
cur_fileカウンタはちょっと機能プログラミングの不変性規則を破る:
– user2933157@ user2933157あなたは 'cur_file'について正しくあります。なぜなら、それがグローバル変数である理由ではなく、私のコードを変更したからです。 2番目の質問については、 'read_files'に引数として配列を追加し、そこにデータを蓄積することができます。 – redneb
ありがとう!私は明日それを試すチャンスがあるときにこれを試してみます。 – user2933157