我有以下代码来读取几个文本文件并返回包含这些文件的详细信息和内容的对象数组:
var getFilesContents = function( fileInput ) {
var fileCount = fileInput.files.length,
results = [ ];
// Pushing meta datas
for( var f = 0; f < fileCount; ++f ) {
var file = fileInput.files[f];
results.push({
name : file.name,
mime : file.type,
format : file.name.match(/\.[0-9a-z]+$/i)[0].substr(1),
size : file.size
});
}
// Pushing contents
for( var f = 0; f < fileCount; ++f ) {
var reader = new FileReader();
reader.onload = function() {
results[f].content = this.result;
};
reader.readAsText( fileInput.files[f] );
}
return results;
};
文件详细信息是正确的,但由于某种原因,内容始终未定义。我是否访问了正确的属性(this.result)?我究竟做错了什么 ?