如何将导出的函数转换为函数类型?

李安德

我正在编写Express中间件,发现很难决定我应该如何对函数进行类型转换。例如,我有一个错误处理程序:

export function errorHandler(err, req, res, next) {
  ...
}

TypeScript正确地抱怨参数是任意的,因此我将其强制转换(ErrorRequestHandler来自@types/express):

export function errorHandler(err, req, res, next) {
  ...
} as ErrorRequestHandler;

但是由于优先级,这被错误地解释,因此我被迫将演员表放在括号中:

export (function errorHandler(err, req, res, next) {
  ...
} as ErrorRequestHandler);

这消除了类型错误,但这使函数声明成为命名函数表达式,有些东西无法导出,而且看起来很丑。所以我陷入了困境。我应该如何在导出错误处理程序的同时导出它?我必须使用旧<>语法吗?

反应式

试试这个吧。

export const errorHandler: ErrorRequestHandler = (err, req, res, next) => {
  ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章