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

时间:2018-08-14 06:57:40

标签: angular coding-style angular-services

我是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之类的属性。

1 个答案:

答案 0 :(得分:4)

好吧,如果您想谈论良好实践,应该

  • 停止使用Promise,因为Observable更好。
  • 不推荐使用旧的HttpClient,请使用新的Http
  • 处理错误而不是抛出错误

除此之外,使服务可重用。我不明白为什么您不应该使用共同服务。您还可以使服务使用该服务。

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