【发布时间】:2020-12-16 12:14:29
【问题描述】:
在我的 React 应用程序中,我有一个向在线服务发送请求的组件,该服务最多可以处理 50 个请求。我现在收到一个执行 7000 个 MAC 的新请求。
function App() {
const [data, setData] = useState([]);
useEffect(() => {
const fetchData = async () => {
await axios.all([
axios.get("/ipdn/<MAC ADDRESS>", { timeout: 10000 }),
axios.get("/ipdn/<MAC ADDRESS>", { timeout: 10000 })
// Adding all the mac address .......
]).then((responseArr) => {
setData(responseArr)
});
};
fetchData();
}, []);
我想扩展 fetchData 函数,所以基本上它只会发送 50 个 IP 并等待迭代完成。
当迭代完成后,接下来的 50 个将被执行。
谢谢
【问题讨论】:
-
使用es6-promise-pool。它可以帮助您管理并行请求的并发性
-
您能否完成您的代码,以便清楚地了解 MAC 地址的存储位置以及如何将它们传递给请求?
-
呃,只是不要写一个客户端组件来执行7000个HTTP请求。
标签: javascript reactjs promise axios