如何使用axios发送批量http get请求,例如:
let maxI = 3000;
let i = 0;
do{
i = i + 1 ;
await exampleUrl = axios.get(`https://hellowWorld.com/${i}`);
} while (i < maxI);
我将如何从所有提供的URL接收数据,并将其合并到单个变量中?我怎样才能确保这项工作得到迅速执行?
我完全了解axios,但我不知道如何在我的案例中应用它。
先谢谢你。
如何使用axios发送批量http get请求,例如:
let maxI = 3000;
let i = 0;
do{
i = i + 1 ;
await exampleUrl = axios.get(`https://hellowWorld.com/${i}`);
} while (i < maxI);
我将如何从所有提供的URL接收数据,并将其合并到单个变量中?我怎样才能确保这项工作得到迅速执行?
我完全了解axios,但我不知道如何在我的案例中应用它。
先谢谢你。
1条答案
按热度按时间4urapxun1#
您可以这样做,但要小心,如果您批量发出请求以防止ddos,服务器将拒绝您的请求,这也不能保证所有请求都会成功返回,并且您将收到所有数据,下面是该请求的片段:
另外,除非在服务器上实现批处理请求处理api,该api将减少服务器处理的请求数和浏览器发出的请求数,否则无法提高速度/减少完成批处理请求所需的时间。我给你们的解决方案只是演示如何从客户端完成,但你们的方法并不是一种最佳的方式。
对于不同浏览器可以向单个域发出的并行请求数量有不同的限制,因此我们无法减少执行查询所需的时间。
请通读这些资源以了解更多信息,它们将非常有帮助:
批量请求实现
浏览器批处理请求ajax
浏览器请求限制
极限解