前端想在方法上直接缓存结果,这种写法合适吗?
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
方法,就是专门干这个事儿的。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
如果数据不需要更新,这个操做也是可以的