使用 POST API 的多部分表单上传

Multipart Form Upload using POST API

我需要帮助尝试使用 superagent 将项目上传到 API。

单次上传的项目限制为 500。因此,如果我要发送超过 500 个项目,例如,如果上传大小为 500,我必须将请求分解为 3 个单独的请求。

我已经分解了请求,但现在我想知道如何向 API 发出多个请求。

知道如何使用 superagent 链接它吗?我研究过分段上传,但我不知道这是否是一回事。

如果包含数组 .length 的数组计算结果为 true,您可以使用 Array.prototype.shift().then() 来安排对函数的调用,否则 return 数组回应。它按顺序执行该过程。

const requests = [[..], [..], [..]];
let results = [];
let request = requests.shift();
let handleRequests = (data) => fetch("/path/to/server", {
  method:"POST", body:data
})
.then(response => response.text())   
.then(res => {
  results.push(res);
  return requests.length ? handleRequest(requests.shift()) : results
});

handleRequest(request)
.then(res => console.log(res)
, (err) => console.log(err));

注意,如果订单不是要求的一部分,您可以用 Promise.all()Array.prototype.map() 代替 .shift()

let handleRequests = (data) => fetch("/path/to/server", {
  method:"POST", body:data
})
.then(response => response.text());
Promise.all(requests.map(handleRequests))
.then(res => console.log(res)
, (err) => console.log(err));