假设我正在定义一个模块,我有一些函数定义,如下所示:
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有没有一种方法可以定义该类型,为它指定一个名称,然后只引用该名称,而不是重复相同的事情?
发布于 2012-10-05 06:56:39
是啊!您可以使用带有调用签名的接口:
interface MyCallSignature {
(req: ExpressServerRequest, res: ExpressServerResponse, next): void;
}现在你可以像这样使用它:
export function bodyParser(options?: any): MyCallSignaturehttps://stackoverflow.com/questions/12737154
复制相似问题