0

嗨,我正在构建一个 angularjs 应用程序,该应用程序在整个应用程序中都有一个计时器。每分钟我都会轮询服务器以查看用户是否在收件箱中收到了新消息。

我想知道设计这个的最佳方法是什么?到目前为止,我看到了两个选择:

1.) Rootscope 功能 2.) 服务

服务方法的问题是我必须将此服务注入我拥有的每个控制器。还有其他人对如何设计这个应用程序有任何建议吗?

谢谢

4

1 回答 1

2

使用服务——这是一个跨领域的问题,一些但可能不是所有的控制器都需要知道。在需要的地方注入它确实需要一些额外的击键,但这是一个好处,而不是一个问题——它使你的代码保持模块化并且更容易测试。

如果您使用服务,则可以将存根实例注入到控制器测试中,以便单独测试控制器。您可以使用 Jasmine 间谍(例如)从您的服务返回模拟值,这样您就可以轻松地测试您的控制器在一系列输入下的行为。

于 2013-10-31T22:59:34.487 回答