Node.js 四个不同的函数签名,用一个父类型封装
我有四个不同的函数签名:Node.js 四个不同的函数签名,用一个父类型封装,node.js,typescript2.0,typescript2.2,Node.js,Typescript2.0,Typescript2.2,我有四个不同的函数签名: type BeforeHookCallbackMode = (h: IBeforeHook) => void; type BeforeHookRegularMode = (h?: IBeforeHook) => Promise<any>; type BeforeHookObservableMode = (h?: IBeforeHook) => Observable<any>; type BeforeHookEEMode = (h
type BeforeHookCallbackMode = (h: IBeforeHook) => void;
type BeforeHookRegularMode = (h?: IBeforeHook) => Promise<any>;
type BeforeHookObservableMode = (h?: IBeforeHook) => Observable<any>;
type BeforeHookEEMode = (h?: IBeforeHook) => EventEmitter;
您要找的不是“父”类型,而是“联合”类型
类继承,而不是类型。好的,我想我必须使用接口,而不是类
function(fn : BeforeHookCallbackMode | BeforeHookRegularMode | BeforeHookObservableMode | BeforeHookEEMode) {
}
type BeforeHookMode = BeforeHookCallbackMode |
BeforeHookRegularMode |
BeforeHookObservableMode |
BeforeHookEEMode;
function (fn: BeforeHookMode) {