如何使用功能属性匹配另一个函数的签名的匿名对象?

时间:2018-06-06 18:48:38

标签: typescript

考虑一下:

function doIt(thing: SomeThing, iterations: number): void {
  // ...
}

class ThingProcessor{
  private state: {
    // how to avoid specifying the arguments again?
    action: (thing: SomeThing, iterations: number) => void
  };
}

在这个例子中,我必须指定两次doIt函数参数。我应该指出state.actiontypeof(doIt),例如使用与doIt函数相同的签名。

1 个答案:

答案 0 :(得分:1)

你可以在函数上使用typeof运算符来获取它的类型

function doIt(thing: SomeThing, iterations: number): void {
    // ...
}

class ThingProcessor {
    private state: {
        // how to avoid specifying the arguments again?
        action: typeof doIt;
    };
}