关于打字稿界面定义

问题描述 投票:0回答:1

我有一个函数A,它将返回函数B。函数B的参数是对象C。C具有一个名为D的属性,其类型为T。

T是在我得到B时决定的,这意味着我可以在调用A或其他方式时设置T。

那么如何在打字稿中定义它?非常感谢。


我已经尝试过了,这将起作用。但这不是我想要的:

interface C<T> {
    d: T;
    e: number;
}

interface B<T> {
    (param: C<T>): void;
}

interface A<T> {
    (): B<T>;
}

const a: A<number> = () => ({d, e}) => {
    console.log(d, e)
};

我想要的东西可能像:

const a: A = () => ({d, e}) => {
    console.log(d, e)
};
const b = a<number>();
typescript interface definition
1个回答
0
投票
interface C<T> { d: T; e: number; } type B<T> = (params: C<T>) => void type A<T> = () => B<T> // or inlined : type A<T> = () => (params: C<T>) => void const a: A<number> = () => ({d, e}) => { console.log(d, e) };
© www.soinside.com 2019 - 2024. All rights reserved.