【发布时间】:2020-07-20 22:09:31
【问题描述】:
我为我的所有服务响应编写了一个包装器,如下所示:
export type Response<T> {
status: 'success' : 'failed';
data?: T;
error?: Error;
}
我的所有服务都会返回,success 和 data 的值或 failed 和 error 的值
我尝试编写一个实用函数,它会在出现错误时为我构建一个Response,它看起来像这样:
private handleError(error: Error): Response<any> {
if (error && isSomeSpecificError(error.message)) {
return { status: 'failed', error: SpecificError(error) };
}
return { status: 'failed', error };
}
它工作正常,但 ESLint 抱怨 any 并带有以下消息:
ESLint:出乎意料。指定不同的类型。(@typescript-eslint/no-explicit-any)
如果我使用unknown,那么任何返回调用此函数结果的函数都会失败,因为它有不同的T
有没有办法解决这个问题?或者这是我应该忽略 eslint 或找到另一种解决方案的情况之一?
【问题讨论】:
标签: typescript eslint