Javascript 检索要跨多个控制器共享的大型数据集

Javascript 检索要跨多个控制器共享的大型数据集,javascript,angularjs,Javascript,Angularjs,我有一个基于AngularJS的应用程序,它定期(每秒500 kb-1 Mb)通过RESTful web服务检索大量数据。我有一个中央服务,负责检索这些数据。当服务成功检索数据时,该服务将数据分成逻辑块,并广播数据可用。这个宽泛的投射由多个控制器拾取,并根据需要显示 由于这个单一的服务处理数据的检索和逻辑分组,它做了很多工作,变得非常复杂。有更好的方法吗?我的检索服务是否应该使用其他服务将数据分发给这些单独的控制器?这对我来说更有意义,但我担心数据拷贝和内存。这些担忧是否有充分的根据?回应 我有

我有一个基于AngularJS的应用程序,它定期(每秒500 kb-1 Mb)通过RESTful web服务检索大量数据。我有一个中央服务,负责检索这些数据。当服务成功检索数据时,该服务将数据分成逻辑块,并广播数据可用。这个宽泛的投射由多个控制器拾取,并根据需要显示

由于这个单一的服务处理数据的检索和逻辑分组,它做了很多工作,变得非常复杂。有更好的方法吗?我的检索服务是否应该使用其他服务将数据分发给这些单独的控制器?这对我来说更有意义,但我担心数据拷贝和内存。这些担忧是否有充分的根据?

回应

我有一个中心服务,负责检索 数据。当服务成功检索数据时,服务 将数据分解为逻辑块,并广播该数据是正确的 可用

……还有

由于此单一服务正在处理检索和逻辑 对数据进行分组,它做了很多工作,并且变得非常重要 复杂。有更好的方法吗?我应该把它取出来吗 服务使用其他服务将数据分发给这些个人 控制器

…一般来说,最好有文件——也就是说,每个文件中每个组件(例如控制器、工厂)有一个责任。因此,对于您的查询,这是一个很好的范例。可以实现两个独立的服务,其中一个负责数据的逻辑分块,而另一个处理广播数据可用性

我还建议查看以下指南,因为它们对编写代码有很大帮助


至于数据复制和内存方面的问题,最好记住这些——避免使用已知会导致此类问题的编码样式和模式。不过,最好先尝试并实施,看看是否会遇到这样的问题。然后,从那里开始

您是在使用
$resource
还是类似restacular的东西?嗯……不是。我正在使用低级的
$http.get(…)
来检索数据。看起来
$resource
只是
$http
方法的高级包装,不是吗?