我正在开发一个从api获取大量数据的angular(1.6)应用程序。为了加快应用程序的加载速度,我们将从服务器获取的数据缓存到变量中,这样我们就不需要从服务器请求相同的数据了。
我的问题是,将数据存储在js变量中是不好的做法?它会对应用程序的性能产生影响吗?
答案 0 :(得分:2)
在变量中存储大量数据会影响memory usage,因为存储HTTP响应会告诉javascript为对象/数组以及对象/数组值分配内存。
AngularJS支持caching,但默认情况下不需要配置它:
$http.get(url, {cache: true}).success(...);
使用上面的命令,Angular会发出一次请求,然后在下次发出相同请求时从缓存中获取它。
因此,您不需要将HTTP响应数据存储在变量中,而是让Angular在内部处理缓存。