मैं प्रकार एनोटेशन कैसे refactor करते हैं?

वोट
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

वहाँ उस प्रकार परिभाषित करने के लिए एक रास्ता है, यह एक नाम निर्दिष्ट, और सिर्फ नाम का संदर्भ एक ही बात दोहरा के बजाय?

04/10/2012 को 23:51
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
6

हां! आप एक कॉल हस्ताक्षर के साथ एक इंटरफ़ेस का उपयोग कर सकते हैं:

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

अब आप इसे पसंद का उपयोग कर सकते हैं:

export function bodyParser(options?: any): MyCallSignature
04/10/2012 को 23:56
का स्रोत उपयोगकर्ता

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