打字稿泛型类方法返回值

时间:2021-06-11 17:48:21

标签: typescript

我觉得我非常接近完成这项工作,但无法完全破解它。

我有这门课:

218

然后我有这个“请求”类型:

export class Container<U extends request> {
    #request: U;
    constructor(request: U) {
        this.#request = request;
    }
    
    public TestMethod() {
        return this.#request<TestMethodReturnType>({
            ...
        });
    }
}

然后是它的单独实现:

export type request = <_T>(options: RequestOpts, data?: { [k: string]: any }) => unknown;

最后,我尝试使用 export function requestImp1<T>(options: RequestOpts, data?: { [k: string]: any }): Ret1<T> { ... } export function requestImp2<T>(options: RequestOpts, data?: { [k: string]: any }): Ret2<T> { ... } 类的实例创建一个对象字典,输入到我的特定实现响应

Container

这一切都有效除了 export const test = { Container: new Container<typeof requestImp1>(requestImp1), }; 有一个 test.Container.TestMethod 类型,它是从 unknown 扩展的 request 类型获得的。 >

0 个答案:

没有答案