前端想在方法上直接缓存结果,这种写法合适吗?
const fetchData = function(){
if(!fetchData.__cache){
fetchData.__cache = fetch('http://example.com');
}
return fetchData.__cache;
}
前端想在方法上直接缓存结果,这种写法合适吗?
const fetchData = function(){
if(!fetchData.__cache){
fetchData.__cache = fetch('http://example.com');
}
return fetchData.__cache;
}
对于一次加载后、整个会话过程中都不需要更新的数据(比如省市区地址列表这种,没必要每次实时拉新的,因为变化的几率实在太小了),这么干没问题。
如果觉得这么写不是很优雅的话,可以用 Lodash 库中有一个 _.memorize
方法,就是专门干这个事儿的。
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答2k 阅读
3 回答2.2k 阅读✓ 已解决
5 回答903 阅读
3 回答2.6k 阅读✓ 已解决
如果数据不需要更新,这个操做也是可以的