码迷,mamicode.com
首页 > Web开发 > 详细

Angular中处理Http请求

时间:2020-03-26 15:17:53      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:vat   table   mode   model   ror   params   exp   cto   xxx   

  • 使用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>)))
    );
  }
}

Angular中处理Http请求

标签:vat   table   mode   model   ror   params   exp   cto   xxx   

原文地址:https://www.cnblogs.com/wyp1988/p/12574574.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!