如何在循环请求中自动从数组中获取 X 数量的项目

How to automate taking X amount of items from array in a loop request

我有一个像这样 [000001,000002,000003,000004,...] 的大数组(数组大小总是很大,例如超过 1000),我想向 API 发送一个请求,其中可以包含一次最多 100 个这些 ID(这是一个限制,每个请求只有 100 个 ID,我无法控制)

端点将这些 id 作为 url 参数,就像这样 ?ids=000001,000002,000003,000004,... 但我正在努力弄清楚我需要执行的逻辑来循环遍历每 100 个条目并获取这些条目,发送请求然后重复直到所有条目都已添加到请求中?

这是我关于 SO 的第一个问题,如果格式不正确,我深表歉意,我真的需要对此进行逻辑检查...

您可以像这样使用 JSON :

let createdJson = JSON.stringify(myIntArray);
// here send your request with :
sendRequest("http://url/?json=" + createdJson);

然后,在另一边你使用类似的东西:

在这个例子中,我使用 PhP。

$intArray = json_decode($_GET["json"]);
// now you have your int array

一般的原则是先将你的大数组拆分成块,然后从每个块中形成一个请求,发送它,等待响应,保留结果然后发送下一个。

这是一些没有细节的代码:

const chunks = chunkArray(largeArray) // returns an array of arrays
let responses = []
for(const chunk of chunks){
    const query = createQueryStringFromArray(chunk)
    const response = await sendQuery(query) // post to API
    responses = [...responses, response] // keep hold of results
}