1

モジュールを定義していて、次のような関数定義があるとします。

export function bodyParser(options?:any): 
  (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void;
export function errorHandler(opts?:any): 
  (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void;
export function methodOverride(): 
  (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void;
export function favicon(url: string, opts? ): 
  (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void;
export function logger(type: string, opts? ): 
  (req: ExpressServerRequest, res: ExpressServerResponse, next) =>void;

私はこの戻り値の型の注釈を繰り返し使用しています:

(req: ExpressServerRequest, res: ExpressServerResponse, next) =>void

その型を定義し、名前を割り当て、同じことを繰り返す代わりに名前を参照する方法はありますか?

4

1 に答える 1

6

うん!呼び出し署名でインターフェイスを使用できます。

interface MyCallSignature {
    (req: ExpressServerRequest, res: ExpressServerResponse, next): void;
}

これで、次のように使用できます。

export function bodyParser(options?: any): MyCallSignature
于 2012-10-04T22:56:39.107 に答える