nodejs 请求100个api每次请求5个分20次请求完
这个问题可以通过使用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请求。最后,我们打印出所有请求完成的消息。
原文地址: http://www.cveoy.top/t/topic/bLql 著作权归作者所有。请勿转载和采集!