【发布时间】:2019-03-05 08:05:52
【问题描述】:
我正在使用具有 fromJson 方法的转换器(外部库),如下所示。 我想构建一个泛型 RESTService,但我不知道如何将泛型类类型传递给方法。
// From the library
export declare type Clazz<T> = {
new (...args: any[]): T;
};
// From the library
export class Converter {
...
public fromJson<T>(json: any, clazz: Clazz<T>): T { ... }
...
}
// ******************************************************
// My Service on my Angular app
class RESTService<T> {
...
public save(t: T): Observable<T> {
return this.httpClient.post('http://...', t)
.pipe(map(res => this.converter.fromJson(res, ???)));
}
...
}
【问题讨论】:
-
您将对象传递给
fromJson是否有原因?似乎您只想说fromJson返回一个Clazz<T>类型的对象...所以fromJson(json: any): Class<T> {}。 -
fromJson 是一个外部库的方法,我改不了。
-
@TitianCernicova-Dragomir 我已经更新了问题。
-
看起来它要求一个构造函数或类类型。
-
是的,但是如何传递我的通用休息服务的另一个通用类类型 T?
标签: angular typescript generics