reactjs - ReactJS 递归性能
问题描述
我有这个从免费硬币 api 获取数据的功能。
export async function fetchAllCoinsPromise() {
const apiCall = await fetch('https://api.coincap.io/v2/assets');
const jsonResult = await apiCall.json();
return jsonResult;
}
问题是这个公共 api 有每日调用限制,但如果你反复调用 api,它最终会为你获取你需要的数据,所以为了克服这个问题,我写了这样的递归:
const fetchCoins = () => {
fetchAllCoinsPromise()
.then(res => {
setCoinsArray(res.data);
return res.data;
})
.catch(() => {
fetchCoins();
});
};
然后我在useEffect
. 我认为这是一个很好的优化解决方案,但经过一番挖掘后,我发现了一些关于堆栈溢出的讨论,其中一些开发人员说递归是最坏的情况,我不确定它是否与我的情况相同。如果需要,有什么关于改进代码的建议吗?
解决方案
推荐阅读
- prometheus - Grafana 添加 Prometheus 数据源,无访问选项
- javascript - 根据选定的下拉值显示 div
- flutter - Flutter:使用泛型创建小部件时出现子类型错误
- python - Python 连接到 Exchange /w Windows 身份验证
- android - 带有 Flutter 的 Rive(flare) 文件显示并在 QEMU Android 模拟器上运行良好,但不会在真实 Android 设备中的内置 APK 上显示
- android - 如果没有 @Provides-annotated 方法就无法提供,组件中存在具有匹配键的绑定
- ios - 未找到 Flutter 插件开发原生 vendored_frameworks 文件
- c++ - 挂钩 SetWindowLongW API
- python-3.x - 有没有办法根据改变 x 轴限制和 y 轴限制来绘制 Matplotlib 的 Imshow?
- selenium - 硒中的多项选择