首页 > 解决方案 > 多次响应实时数据获取

问题描述

当 API 中的货币价格发生变化时,我正在尝试升级我的应用程序更新状态,截至目前,我正在根据请求进行一次 API 调用,但我希望应用程序在 API 价格发生变化时实时更新,我考虑过使用 setTimeout 并多次调用 API,但这最终会导致性能下降并且内存将开始填满,另一方面,并​​非 API 调用中的所有键都在更改,例如名称或 ID,所以我不需要每次都存储整个信息,我将如何做到这一点?谢谢!

 function CENTRAL_HUB() {
    const API_URL =
        'https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=1&sparkline=false';
    const [coins, setCoins] = useState([]);

    useEffect(() => {
        axios
            .get(API_URL)
            .then((res) => {
                console.log(res);
            setCoins(res.data);
            })
            .catch((err) => {
                console.log(err);
            });
    }, []); ```
 
    

标签: reactjsasync-awaitaxiosreact-hooksuse-effect

解决方案


一种可能的解决方案 - 有一个 npm 包cron,它允许您在计划的作业触发时执行一个函数。


推荐阅读