可能说的不太明白,就是我想传一个泛型参数,然后该参数依然可以接收一个泛型来返回最终的类型。
type A<T> = {
z: T,
x: string
}
type B<T> = {
zzz: T,
a:string,
b:number,
c:number
}
// 当我声明一个类的时候,能否将A或者B 当作泛型带给 Class,然后在写某个函数的时候再接收一个传入的泛型获取真实值
class Test<BaseT>{
getSome<T>(){
// BaseT<T> 会提示 Type 'BaseT' is not generic.(2315)
return new Promise<BaseT<T>>((resolve, reject)=>{
// 因为消息是不可控的,所以想用BaseT<T>的组合来实现
const xx:any = 111
resolve(xx)
})
}
}
const test = new Test<B>() // 这里也会提示 Generic type 'B' requires 1 type argument(s).(2314)
test.getSome<number>()
当前写法无法满足我的需求,有没有什么其他的写法能够满足?
当前的 Typescript 还不支持使用泛型当作类型参数使用,不过你的这个需求还是可以解决的,只是需要稍微变通一下.
如下:
Playground