Javascript 如何使用队列设置多个进度

Javascript 如何使用队列设置多个进度,javascript,algorithm,reactjs,file-upload,upload,Javascript,Algorithm,Reactjs,File Upload,Upload,我正在用React中的队列实现多上传器。此特定队列应该只有5个“插槽”用于并行文件上载。其余的文件应该等待空闲时间到来,然后开始上传另一个文件 当前实施情况 这里只是一个接一个地上传所有文件 private onChange(event: any) { event.preventDefault(); this.setState({ files: [...files] }); this.upload(files); } private doUpload(index

我正在用React中的队列实现多上传器。此特定队列应该只有5个“插槽”用于并行文件上载。其余的文件应该等待空闲时间到来,然后开始上传另一个文件

当前实施情况

这里只是一个接一个地上传所有文件

private onChange(event: any) {
   event.preventDefault();
   this.setState({
     files: [...files]
   });
   this.upload(files);
}
private doUpload(index: any, files: any) {
  // ... implementation
  xhr.send(formData)
}

private upload(files: any) {
 for (let index = 0; index < files.length; index++) {
   this.doUpload(index, files);
 }
}
private onChange(事件:任意){
event.preventDefault();
这是我的国家({
文件:[…文件]
});
这个。上传(文件);
}
专用双倍加载(索引:任意,文件:任意){
//…实施
xhr.send(formData)
}
私人上传(文件:任意){
for(让index=0;index
目标


只允许5个http请求并行。其余文件应等待免费的“插槽”开始上载。

请显示您为并行上载所做的尝试。好吧,我已尝试检查
此.state.files中的所有实际进度。类似这样的内容:
for(让index=0;index{return e.progress<100;}).length<3{this.doUpload()}
另一次在
this.upload中
我试图用递归的方法从数组中删除已经上传的文件。类似这样:
私有上传(files:any){for(让index=0;index
我还签入了
组件将更新当前上传文件的进度和数量(进度<100)。但是反应“爆炸”-内存不足;)