|
|
1
4
如果你想使用try/catch,那么你会得到一个你不知道类型的对象。 您已经对代码进行了测试,以查看该对象是否为 Error ,如果是,则将其转换为“正常”JS 错误 对象 你可以用 typeguard 告诉类型系统对象的实际类型。 大致如下:
我看了一眼
看看 type definition 这表明传递给回调的错误对象确实是所需的 ErrnoException .
因此,使用回调将消除对类型guard的需要,而且似乎是实现这一点的节点方式。 This article 显然,它详细说明了“收回所有东西”方法背后的一些想法。
|
|
|
2
3
最后我使用了@AndyJ的评论:
但我惊讶地发现这是必要的。它还要求你 disable tslint's 如果你正在使用任何规则。 |
|
|
3
1
你可以考虑阅读
这不是一个完美的解决方案,但考虑到您不能在catch子句中声明类型,并且
|
|
4
1
类型安全类型脚本解决方案
这不是一个普遍的解决方案,但对全球经济有效
以下类型的守卫完全尊重这一防御。我的TypeScript和ESLint设置非常严格,因此很可能不需要注释来禁用ESLint/TSLint(如果您仍然使用这个去润滑的注释)。
哪里
现在我们可以检查
|