首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重构类型注解?

如何重构类型注解?
EN

Stack Overflow用户
提问于 2012-10-05 06:51:03
回答 1查看 336关注 0票数 1

假设我正在定义一个模块,我有一些函数定义,如下所示:

代码语言:javascript
复制
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;

我反复使用这个返回类型注释:

代码语言:javascript
复制
(req: ExpressServerRequest, res: ExpressServerResponse, next) =>void

有没有一种方法可以定义该类型,为它指定一个名称,然后只引用该名称,而不是重复相同的事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 06:56:39

是啊!您可以使用带有调用签名的接口:

代码语言:javascript
复制
interface MyCallSignature {
    (req: ExpressServerRequest, res: ExpressServerResponse, next): void;
}

现在你可以像这样使用它:

代码语言:javascript
复制
export function bodyParser(options?: any): MyCallSignature
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12737154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档