我想同时添加三个文件。扩展名为kml,kmz和csv的文件。 当我选择所有三个文件并单击打开时,我在FileList中获取所有三个文件。 但是只有一个文件被添加到地图上。如果我添加单个文件,即一个接一个,它工作正常。读者onloadend事件被触发了3次。但是它总是只添加三个文件中的一个。
function handleFileSelect(evt) {
var files = evt.target.files; // FileList
for (var i = 0; i < files.length; i++) {
f = files[i];
fileExtension = f.name.split('.').pop();
if(fileExtension != 'kml' && fileExtension !='kmz' && fileExtension != 'csv'){
alert('Unsupported file type ' + f.type + '(' + fileExtension + ')');
return;
}
var fileReaderkmlcsv = new FileReader();
fileReaderkmlcsv.readAsText(f);
fileReaderkmlcsv.onloadend =loadend;
} //- end for loop } //handleFileSelect
答案 0 :(得分:0)
问题是javascript中的异步代码执行。 这是答案 - Asynchronous execution in javascript any solution to control execution?