创建一项通用服务是好的做法吗?

Is good practice to create one generic service?

我是新来的 Angular 2. 我想知道什么是好的做法。我在有方法的地方创建了一个服务。然后,我看到我可以使用通用服务,而且我可以在更多情况下使用它。下面我展示了它的代码。

getSpecific(): Promise<ResponseApi<MyModel>> {
    return this._http.get('api/specific')
        .map((response: Response) => <ResponseApi<MyModel>>response.json())
        .toPromise()
        .catch((error) => { throw (error) });
}

getGeneric<T>(url: string): Promise<T> {
    return this._http.get(url)
        .map((response: Response) => <T>response.json())
        .toPromise()
        .catch((error) => { throw (error) });
}

什么是好的做法?使用不同的服务或使用一种通用服务,就像在这种情况下一样。 ReponseApi 是我的模型,其中我具有 StatusCodeResult.

等属性

好吧,如果你想谈论好的做法,你应该

  • 停止使用承诺,因为 Observable 更好
  • 使用新的 HttpClient,因为旧的 Http 已被弃用
  • 处理你的错误而不是抛出它

除此之外,服务可重​​复使用。我不明白为什么你不应该有一个共同的服务。您还可以制作使用此服务的服务。

例如,这通常是我对 firebase 所做的:一个通用服务被多个特定服务调用。