我对打字稿很陌生,发现将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
?它会在打字稿上吐吗?我不知道!任何帮助是极大的赞赏。
答案 0 :(得分:0)
我认为您正在寻找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);
}
答案 1 :(得分:0)
我看不到将抽象层添加到httpClient或您尝试执行的操作的意义。不过,您应该看看Generics in Typescript。
function identity<T>(arg: T): T {
return arg;
}