如何在Typescript中获取泛型类型的内部类型?那么myType<T>
的T
呢?
例如:
export class MyClass {
myMethod(): Observable<{ prop1: string, ... }> {
....
}
}
type myClassReturn = ReturnType<MyClass['myMethod']>;
// Sets the type to 'Observable<{ prop1: string, ... }>'.
// How do I set this to just '{ prop1: string, ... }'?
感谢
您可以使用infer
关键字从泛型类型中获取类型参数。考虑:
type GetInsideObservable<X> = X extends Observable<infer I> ? I : never;
// in your case it would be:
type A = GetInsideObservable<ReturnType<MyClass['myMethod']>> // { prop1: string, ... }