【发布时间】:2020-05-20 04:18:04
【问题描述】:
我可以根据下面的伪代码将返回多种类型的 Typescript 函数的结果分配给具有单一类型的变量:
export class MyComponent {
aNumber: number;
numberOrString(returnNumber: boolean): number | string {
if (returnNumber === true) {
return 5;
} else {
return 'Five';
}
}
constructor(){
this.aNumber = this.numberOrString(true) as number;
}
}
如果在构造函数的行中省略了“as number”,则会引发类型错误。
我怎样才能做同样的事情,但使用返回多种可能类型的 ngrx 选择器?例如。以下:
aNumber$: Observable<number>;
this.aNumber$ = this.store$.pipe(select(numberOrString, { returnNumber: true }));
除非我将 aNumber$ 定义为:
aNumber$: Observable<number | string>;
但在这种情况下它只会是一个数字,我想相应地设置类型。
或者我应该有两个不同的选择器,每个选择器都返回一个类型?
【问题讨论】:
-
可以分享选择器代码吗?
标签: angular typescript types observable ngrx