typescript - 在装饰器中使用泛型类型
问题描述
我想为我的 NestJs 应用程序创建异常过滤器。我基本上从这里拿了代码
https://docs.nestjs.com/exception-filters#exception-filters-1
并创建了我自己的版本
import { ExceptionFilter, Catch } from '@nestjs/common';
@Catch(TException)
export class BaseExceptionFilter<TException extends Error> implements ExceptionFilter {
catch(exception: TException): void {
// ...
}
}
此异常过滤器应运行基本逻辑并采用 类型的泛型Error
。Catch
装饰器无法处理该泛型类型
找不到名称“TException”。您的意思是“DOMException”吗?ts(2552)
是否可以在类定义之外使用该泛型?因为基本上我可以传入任何我想要的类型
@Catch(String)
export class BaseExceptionFilter implements ExceptionFilter {
catch(exception: string): void {
// ...
}
}
但我认为它必须在运行时之前存在......有什么想法可以解决这个问题吗?
解决方案
推荐阅读
- php - 脑树自动续费有什么方法吗?
- python-3.x - 无法正确读取 .csv 文件
- apache-spark - 在 Pyspark 中读取数据集并提取特征
- javascript - 在数据更改上重绘 ng2-google-chart
- php - 如何输出数组的值
- python - 如何展平聚合结果
- android - 使用 Cordova 将 Angular 8 应用程序转换为 Android 的问题
- javascript - 如何使用 z-index css 覆盖 SVG 折线点
- java - 如何在 AWS Lambda 中安装 chrome
- javascript - Javascript:过滤函数未从数组中删除预期元素