我正在使用 http 模块编写一个 node.js 应用程序,并尝试组合来自多个 GET 请求的数据以产生结果。我检查了类似的问题,但它们都涉及async.map并行初始化请求。就我而言,我需要第一个 GET 请求的结果来获取下一个请求的 URL,等等。这是我正在处理的示例:
// First GET request
https.get('URL', (resp) => {
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
let parsedData = JSON.parse(data);
let names = parsedData.name;
let before_id = parsedData.messages[99].id;
});
});
然后我想传递names到before_id另一个 GET 请求,如下所示:
// Second GET request
https.get('URL&before_id=' + before_id, (resp) => {
let data = '';
resp.on('data', (chunk) => {
data += chunk;
});
resp.on('end', () => {
let parsedData = JSON.parse(data);
names = //names from previous request + this parsedData.name
let before_id = parsedData.messages[99].id;
});
});
对于上下文:我正在使用 GroupMe API,它一次只允许我检索 100 条消息。我想检索 1000 条消息,这是通过在 100 条批次中查找最后一条消息的消息 ID 并调用另一个 GET 请求,将该消息 ID 作为 URL 中的参数传递来完成的。(这将请求紧接在指定 id 之前的 100 条消息)。不仅如此我需要将每个请求的 id 传递给下一个请求,而且我还需要存储每批请求中我需要的数据,将它们组合起来,然后一起提供它们。我该怎么做呢?