Hvordan kan jeg refactor typen kommentarer?

stemmer
1

La oss anta at jeg definere en modul, og jeg har noen funksjon definisjoner som dette:

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;

Jeg gjentatte ganger å bruke denne returtype merknad:

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

Er det en måte å definere denne typen, tildele den et navn, og bare referere til navn i stedet for å gjenta det samme?

Publisert på 04/10/2012 klokken 22:51
kilden bruker
På andre språk...                            


1 svar

stemmer
6

Jepp! Du kan bruke et grensesnitt med en oppfordring signatur:

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

Nå kan du bruke den som:

export function bodyParser(options?: any): MyCallSignature
Svarte 04/10/2012 kl. 22:56
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more