我在JS中使用FileReader onload上传文件的时候,如何保证文件上传顺序

我在JS中上传到OBS的时候 因为FileReader onload是异步请求 所以说我上传的文件顺序会有问题
通过 var dicomList = event.target.files;直接获取的所有文件 然后在for循环这个数组

for (var i = 0; i < dicomList.length; i++) {
                var file = dicomList[i];
                var files = dicomList[i];
                let reader = new FileReader();
                let fileName = file.name;
                fruits.push(files); 
                reader.readAsArrayBuffer(file);
                
                reader.onload = function(file) {
.........

在循环里面使用的onload方法 在这个方法里面上传的OBS 所以会出现文件上传的顺序不一致的问题

不能直接for,for的话异步操作无法控制顺序
做成一个函数循环调用,可以参考这个问题中我的回复,类似,只是一个是ajax,题主的是filereader
https://ask.csdn.net/questions/7480804

可以通过函数递归的方法,第一个文件上传返回再传第二个文件,判断所有文件都上传就结束

var files = dicomList,i=-1;
function upload(){
  i++;
if(dicomList[i]){
var file = dicomList[i];
......
upload();
                


  
}else{
  console.log(‘上传成功’)
}
}
upload();