【发布时间】:2018-08-30 07:10:57
【问题描述】:
我对 Angular 的世界有点陌生。我目前正在使用 Angular-4.4.6。 我的场景如下: 我有 3 个组件(例如 C1、C2、C3),每个组件都使用自己的服务(例如 S1、S2、S3 等),然后调用“http.get()”从 rest 后端获取数据。 我想知道的是不是在三个服务中的每一个中注入“http:HttpClient”,我是否应该创建一个“RestService”类,该类具有所有其他调用,如 get()、post()、put()、 delete() 然后:
- 将此基类扩展到我将在其中的 3 个服务中的每一个 订阅基类的这些方法调用,然后使用数据 取到了吗?
或
- 将具有通用方法的“RestService”注入我的每个服务的构造函数中,然后通过订阅这些服务来使用它们?
这两种方法是否会影响性能?
【问题讨论】:
-
你为什么不想这样做?
HttpClient已经是你的RestService所以你应该把它注入你的每一个服务中。 -
我通常只使用一个“RestService”,直接来自组件。这更有意义,因为组件本身可以处理错误或成功处理。这样您就可以保留 S1、S2 等服务,但任何后端通信都用于不同的服务。如果您继承了返回 observable / promises 的方法,那么无论如何您都可以从中间服务中传递它们。回答您的问题:我认为后者更好,您使用单个通信端点并以不同方式参数化它们 - 但我不知道任何性能差异。
标签: angular typescript