创建一项通用服务是好的做法吗?
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
是我的模型,其中我具有 StatusCode
和 Result
.
等属性
好吧,如果你想谈论好的做法,你应该
- 停止使用承诺,因为 Observable 更好
- 使用新的
HttpClient
,因为旧的 Http
已被弃用
- 处理你的错误而不是抛出它
除此之外,服务可重复使用。我不明白为什么你不应该有一个共同的服务。您还可以制作使用此服务的服务。
例如,这通常是我对 firebase 所做的:一个通用服务被多个特定服务调用。
我是新来的 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
是我的模型,其中我具有 StatusCode
和 Result
.
好吧,如果你想谈论好的做法,你应该
- 停止使用承诺,因为 Observable 更好
- 使用新的
HttpClient
,因为旧的Http
已被弃用 - 处理你的错误而不是抛出它
除此之外,服务可重复使用。我不明白为什么你不应该有一个共同的服务。您还可以制作使用此服务的服务。
例如,这通常是我对 firebase 所做的:一个通用服务被多个特定服务调用。