ブロブを含む配列が必要なので、私のコードは次のとおりです。
for (var i = 0; i < total; i++) {
var xhr = createXHR();
xhr.open('GET', 'img/tiles/' + zeroFill(i, 4) + '.png', true);
xhr.responseType = 'blob';
xhr.onload = function() {
arr[i] = new Blob([this.response], {type: 'image/png'});
// console.log(arr[i]);
};
xhr.send();
}
arrのi位置を出力すると、コンソールにblobが正しく表示されます(少なくとも、そのサイズが表示されます)。以前の位置を表示しようとすると、未定義になります。
すべてのXHRリクエストが完了した後でarrを見ると、コンソールには、すべての位置が未定義で最後のblobが未完了の奇妙な配列が表示されます。