RxJS switchMap返回T而不是Observable <number>

时间:2019-02-06 11:02:32

标签: typescript rxjs6

我似乎无法让RxJS switchMap返回正确的类型。 打字稿说Type 'T' is not assignable to type 'number'. 如何更改类型以使其正确?

当我将其停止输入时,我的停止/开始计数器就可以正常工作了,但是我想做对了:)

这是在stackblitz上指向live example的链接。

但是实际问题在tap((count: number)

之内
private counter$: Observable<number> = this.isCounting$.pipe(
    switchMap(isCounting => isCounting ? this.updateCount() : of(this.count)),
    tap((count: number) =>  {
      this.displayCount(count)
    })
)

希望Typescript的类型为,但是将鼠标悬停在tap((count: number)上时会说:

[ts]类型“ MonoTypeOperatorFunction”的参数不能分配给类型“ OperatorFunction”的参数。

参数“源”和“源”的类型不兼容。     类型“可观察”不能分配给类型“可观察”。       类型“ T”不可分配给类型“数字”。 [2345]

更新: TS 2.9.2中没有错误 TS 3.2.2中有错误

0 个答案:

没有答案