使用 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));
我需要帮助尝试使用 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));