多次响应实时数据获取
Posted
技术标签:
【中文标题】多次响应实时数据获取【英文标题】:React live data fetching on multiple occasions 【发布时间】:2021-11-21 14:25:18 【问题描述】:当 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);
);
, []); ```
【问题讨论】:
您将不得不使用 setInterval 调用。唯一的另一种方法是,如果 api 具有您可以订阅的套接字连接。 【参考方案1】:一种可能的解决方案 - 有一个 npm 包 cron,它允许您在计划的作业触发时执行一个函数。
【讨论】:
以上是关于多次响应实时数据获取的主要内容,如果未能解决你的问题,请参考以下文章