在竞争执行第1次后调用第2个Angularjs控制器

时间:2015-05-21 18:17:19

标签: angularjs controller

我是AngularJs的新手。我有一种情况需要为多个控制器获取相同的数据。所以,我开始知道为此使用angularJs服务并从控制器调用该服务。

现在,当我从两个控制器调用此服务时,服务会被命中两次。我已经在服务中缓存了数据,但服务仍然会向服务器生成两个ajax请求。

如何处理这种情况?

2 个答案:

答案 0 :(得分:0)

每次调用服务方法时,无论您从哪里调用它,都会运行。因此,如果您有两个控制器并且分别从每个控制器调用服务方法,则服务方法将运行两次。

答案 1 :(得分:0)

  

我已将数据缓存在服务中,但仍会生成服务   两个ajax请求到服务器。

如果您在两个控制器中注入一个服务时,您正在谈论没有两次调用 public myClass extends AppCompatActivity{ ... ... 请求:

这个SO post似乎也在实现类似的东西:
1使用$ http请求的服务和2个使用返回的promise的控制器。

在这种情况下,第二个控制器在使用服务的返回数据之前等待Android SDK Manager事件(而不是再次调用$ http请求) - 看看是否此实现有助于您的应用程序。 GL!