首页 > 解决方案 > Typescript/Angular:静态类引用作为函数参数

问题描述

我对打字稿很陌生,发现将http响应映射到一个类真的很漂亮,比如

getMovies(): Observable<Movie[]> {
  return this.http.get<Movie[]>(this.endpoint);
}

返回一个填充的Movie类数组(只是一个例子)

这让我尝试通过调用get父类中的假设方法来概括这一点,比如

// child
getMovies(): Observable<Movie[]> {
  return this.super.get(class_reference_here, this.endpoint);
}

// parent
get(reference: any, endpoint: string): Observable<any> /* or <any[]> ?? */  {
    return this.http.get<reference[]>(endpoint);
}

有没有办法实现这样的目标?有没有办法填充class_reference_here一些明智的东西?它会在 Typescript 面前吐口水吗?我不知道!任何帮助是极大的赞赏。

标签: angulartypescriptfunctiongenericsparameters

解决方案


我认为您正在寻找Generics

// child
getMovies(): Observable<Movie[]> {
  return this.super.get<Movie[]>(this.endpoint);
}

// parent
get<T>(endpoint: string): Observable<T> {
    return this.http.get<T>(endpoint);
}

推荐阅读