这个问题可以通过使用 async/await 和 Promise.all 来解决。我们可以使用一个循环将 100 个 API 请求分为 20 组,每组请求 5 个 API。然后使用 Promise.all 来等待每组 API 请求完成后再进行下一组请求,直到所有请求完成为止。

以下是示例代码:

const axios = require('axios');

// 100 个 API 的 URL 数组
const urls = [...];

// 将 100 个 API 分为 20 组,每组 5 个 API
const groups = [];
for (let i = 0; i < urls.length; i += 5) {
  groups.push(urls.slice(i, i + 5));
}

// 使用 async/await 和 Promise.all 进行请求
const requestAll = async () => {
  for (let i = 0; i < groups.length; i++) {
    const group = groups[i];
    const requests = group.map(url => axios.get(url));
    await Promise.all(requests);
    console.log(`第${i+1}组请求完成`);
  }
  console.log('所有请求完成');
}

requestAll();

在上面的代码中,我们使用 axios 库进行 API 请求。我们首先将 100 个 API 分为 20 组,然后使用 for 循环遍历每组 API 请求。每组 API 请求都是一个 Promise 数组,我们使用 Promise.all 等待所有 Promise 完成后,才进行下一组 API 请求。最后,我们打印出所有请求完成的消息。

Node.js 批量请求 API:分批处理提高效率

原文地址: https://www.cveoy.top/t/topic/ndpk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录