我正在尝试使用Javascript将多个图像上传到服务器。它可以工作,但是在上传大约100张图像时浏览器被惊呆了。
这是我的代码:
首先,一次上传多个文件
uploadListImages(images) {
images.forEach((image, index) => {
const formData = new FormData();
formData.append('image_file', image);
formData.append('image_name', image.name);
MyHttpRequestClass
.myPOST(URL, formData)
.then(respond => {
// processing code
})
.catch(err => console.error(err));
});
}
与此同时上传文件时,我不得不等待很长时间,浏览器几乎崩溃了(没有响应消息)。
然后,我更改为通过递归同步上传每个图像。
uploadListImages(images, recursiveIndex = 0) {
if (recursiveIndex === images.length) {
return;
}
const formData = new FormData();
formData.append('image_file', images[recursiveIndex]);
formData.append('image_name', images[recursiveIndex].name);
MyHttpRequestClass
.myPOST(URL, formData)
.then(respond => {
// processing code
})
.catch(err => console.error(err))
.then(() => this.uploadListImages(images, recursiveIndex + 1));
}
浏览器不再崩溃,我仍然可以滚动或执行其他任务,但是,它非常慢。你有什么要增强的吗?