Я не могу заставить RxJS switchMap возвращать правильный тип.Typescript говорит: Type 'T' is not assignable to type 'number'.
Как я могу изменить тип так, чтобы он был правильным?
Мой счетчик остановки / пуска работает нормально, когда я набираю значение 'any', но я хочу сделать это правильно :)
Вот ссылка на живой пример на stackblitz.
Но реальная проблема в 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'.
Типы параметров«источник» и «источник» несовместимы.Тип «Наблюдаемый» нельзя назначить типу «Наблюдаемый».Тип «Т» не может быть назначен типу «число».[2345]
Обновление: в TS 2.9.2 ошибки нет, в TS 3.2.2
ошибка