【发布时间】:2020-02-06 14:21:41
【问题描述】:
当我尝试同时上传超过几百个文件时,我遇到了这个问题。
API 接口仅适用于一个文件,因此我必须调用发送每个文件的服务。现在我有这个:
onFilePaymentSelect(event): void {
if (event.target.files.length > 0) {
this.paymentFiles = event.target.files[0];
}
let i = 0;
let save = 0;
const numFiles = event.target.files.length;
let procesed = 0;
if (event.target.files.length > 0) {
while (event.target.files[i]) {
const formData = new FormData();
formData.append('file', event.target.files[i]);
this.payrollsService.sendFilesPaymentName(formData).subscribe(
(response) => {
let added = null;
procesed++;
if (response.status_message === 'File saved') {
added = true;
save++;
} else {
added = false;
}
this.payList.push({ filename, message, added });
});
i++;
}
}
因此,我确实有一段时间将每个文件发送到 API,但我在大量文件上收到消息“429 太多请求”。有什么办法可以改进吗?
【问题讨论】:
-
您可以使用
interval来调整请求的速度。 -
给我一点时间,我会做一个stackblitz,因为解释起来更难
标签: javascript angular typescript angular7 http-status-code-429