TypeScript更高类型的可选/变通方法

TypeScript更高类型的可选/变通方法,typescript,Typescript,这是一个泛型抽象类的片段,用于为不同的API创建HTTP资源,其中方法的泛型确定响应数据,但数据周围的响应包装器最好由抽象类控制 示例中的R是SuccessResponse,它根据API是响应数据T的不同响应类型包装器 export abstract class AbstractApiResource<R> implements IApiResource { public get<T>( path: string, params: HttpParams

这是一个泛型抽象类的片段,用于为不同的API创建HTTP资源,其中方法的泛型确定响应数据,但数据周围的响应包装器最好由抽象类控制

示例中的
R
SuccessResponse
,它根据API是响应数据
T
的不同响应类型包装器

export abstract class AbstractApiResource<R> implements IApiResource {
  public get<T>(
    path: string,
    params: HttpParams = new HttpParams(),
    options: { [key: string]: any } = {}
  ): Observable<R<T>> {
    return this.http
      .get(`${this._apiEndpoint}/${path}`, { params, observe: 'response', ...options })
      .pipe(this.handleResponse<T>());
}
导出抽象类AbstractApiResource实现IApiResource{
公众获取(
路径:字符串,
params:HttpParams=新的HttpParams(),
选项:{[key:string]:any}={}
):可见{
返回此文件。http
.get(`this.\u apidendpoint}/${path}`,{params,observe:'response',…options})
.pipe(this.handleResponse());
}
这样做会显示一个错误,表明
类型“R”不是泛型的
,这使得TypeScript没有实现,但在TypeScript中是否有“完成”类似于此的工作?

您能否提供一个适合放入独立web IDE的方法,如包括预期用途(其中,
R
是在子类中指定的吗)?我的猜测是,最接近这种情况的是一些类型构造函数的硬编码联合,但如果没有一些我可以轻松玩弄的东西,这很难说。你能提供一个适合放入独立web IDE的方法,比如包括预期用途吗(其中,
R
是在子类或其他东西中指定的)?我的猜测是,最接近这种情况的是一些类型构造函数的硬编码并集,但是如果没有我可以轻松玩弄的东西,很难说。