【发布时间】:2023-03-29 08:51:01
【问题描述】:
我有一个 rest-provider 服务,它包含我所有的 http 调用。但是,每个函数都重用了很多相同的 http 代码,似乎我应该将其包装到一个共享函数中,以防我想更改其中的任何内容
正如您所见,这两个功能几乎完全相同,只是 url 发生了变化。如何重构此代码以不在我的所有函数中重用相同的代码?
getStepMenu(_params): Observable<StepMenu> {
// Add params
let params = new HttpParams();
for (let key in _params) {
if (_params.hasOwnProperty(key)) {
params = params.set(key, _params[key]);
}
}
return this.http
.get<StepMenu>(this.env.API_URL + 'api/step_menu', { headers: this.headers, params: params })
.pipe(
retry(this.retries),
catchError(this.handleError)
)
}
getStepInfo(_params): Observable<StepInfo> {
// Add params
let params = new HttpParams();
for (let key in _params) {
if (_params.hasOwnProperty(key)) {
params = params.set(key, _params[key]);
}
}
return this.http
.get<StepInfo>(this.env.API_URL + 'api/step_info', { headers: this.headers, params: params })
.pipe(
retry(this.retries),
catchError(this.handleError)
)
}
【问题讨论】:
标签: javascript angular ionic-framework types rxjs