【发布时间】:2020-10-17 14:21:06
【问题描述】:
我注意到 VSCode 喜欢将 Observable<boolean | undefined> 的返回类型折叠为 Observable<boolean>,这使得只需将鼠标悬停在上面就很难看到某事物的“真实”返回类型是什么它。
我今天更新了一个包,其中方法的返回类型从Observable<boolean> 更改为Observable<boolean | undefined>。这对我的代码库产生了巨大的影响,由于我看不到实际的返回类型,我不得不依赖编译器。
例如,如果我有这段代码(动物比布尔值更有趣):
getAnimal()
{
return timer(1000, 1000).pipe(map(timer => (timer % 0 == 0) ? <const>'cat' : <const>'dog'));
}
当我将鼠标悬停在显示Observable<"cat" | "dog">的方法上时
但如果我把它改成这样:
getAnimal()
{
return timer(1000, 1000).pipe(map(timer => (timer % 0 == 0) ? <const>'cat' : undefined));
}
然后它将undefined“折叠”到类型中。
如何让 VSCode 显示 Observable<'cat' | undefined> 或 Observable<boolean | undefined>
我正在使用打字稿 3.9.5。和严格的空检查。
【问题讨论】:
-
您确定
timer % 0是正确的吗?因为任何 mod 0 都是 NaN。 -
对不起,我间隔了,本来应该是 2
标签: typescript visual-studio-code