Как наследовать типы машинописи в классе-обертке - PullRequest
0 голосов
/ 28 февраля 2019

Если я хочу обернуть httpClient в класс-оболочку, чтобы предоставить дополнительные функции.Как я могу получить методы, возвращающие типы непосредственно из HttpClient.Я не хочу воссоздавать все эти типизированные перегрузки для возвращаемых типов.По умолчанию я потеряю всю информацию о наборе текста.

class myhttp{
    constructor(private _http:HttpClient){}
    get(url,options){
      return _http.get(url,options).pipe(this.customOperator())
    }
}

1 Ответ

0 голосов
/ 28 февраля 2019

Я сделал что-то подобное, расширив класс httpclient

import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs";
import {tap} from "rxjs/operators"


@Injectable({
  providedIn:"root"
})
export class HttpService extends HttpClient {

  public get(url , options?:any): Observable<any> {
    // do something magical ?‍♂️
    return super.get(url,options).pipe(tap(console.log))
  }
}

inject HttpService

export class AppComponent  {
  name = 'Angular';

  constructor(private http:HttpService) { }

  ngOnInit(){
    this.http.get('https://jsonplaceholder.typicode.com/posts').subscribe(console.log);
  }

демонстрация stackblitz ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...