这个问题可以通过使用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请求。最后,我们打印出所有请求完成的消息。

nodejs 请求100个api每次请求5个分20次请求完

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

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