Angular中处理Http请求
- 使用HttpClient.get等方法进行http请求,一般都是返回的一个Observable,给上层进行订阅处理
- 将响应转成响应的Model类,可以直接在HttpClient.get中指定,如果有特殊处理(比如只要响应中的一部分),那么可以在返回的Observable后继续使用pipe、map等方法结合lambda表达式进行处理,其中可以使用as来转换类型。
import { HttpClient, HttpErrorResponse, HttpParams } from ‘@angular/common/http‘; @Injectable({ providedIn: ‘root‘ }) export class XXX { constructor( private readonly http: HttpClient) { } getXXX(): Observable<ModelClass> { return this.http.get<ModelClass>("url").pipe( catchError((err) => this.handleError(err))); } getYYY(page: number = 0, size: number = 10): Observable<Array<ModelClass>> { const params = new HttpParams() .set(‘page‘, String(page)) .set(‘size‘, String(size)); return this.http.get<any>("url", { params }).pipe( map(response => response.assetList as Array<ModelClass>), catchError(err => this.handleError(err, of([] as Array<ModelClass>))) ); } }
相关推荐
星辰的笔记 2020-07-04
zhongweinan 2020-06-10
jiangfulai 2020-04-18
afanti 2020-03-14
hlihaihong 2020-01-13
kaosini 2020-01-12
kaosini 2020-01-12
yuuuuy 2020-01-06
FranksTD 2019-12-19
zhouhaihua00 2019-12-22
Sabrina 2019-12-22
hlihaihong 2019-12-15
hlihaihong 2019-12-14
我有一只小松鼠 2019-12-14
FranksTD 2019-12-13
afanti 2019-12-06
SeekerTime 2019-11-17
yuetingzhuying 2015-10-17
wenjs00 2012-03-22