0

我有这四个不同的函数签名:

type BeforeHookCallbackMode = (h: IBeforeHook) => void;
type BeforeHookRegularMode = (h?: IBeforeHook) => Promise<any>;
type BeforeHookObservableMode = (h?: IBeforeHook) => Observable<any>;
type BeforeHookEEMode = (h?: IBeforeHook) => EventEmitter;

我如何创建一个父类型,这 4 种类型从中继承?这样我就可以在函数签名中使用该父类型,而不是这样做:

function(fn : BeforeHookCallbackMode | BeforeHookRegularMode | BeforeHookObservableMode | BeforeHookEEMode) {


}
4

1 回答 1

1

您不是在寻找“父”类型,而是“联合”类型。

type BeforeHookMode = BeforeHookCallbackMode | 
  BeforeHookRegularMode | 
  BeforeHookObservableMode | 
  BeforeHookEEMode;

function (fn: BeforeHookMode) {
于 2017-04-19T18:43:54.743 回答