Итак, я обновил угловой проект с 5 до 7. Я перенес свои цепочки RxJs на использование pipe.Я делаю много запросов и, следовательно, использую switchMap для поиска;но typcript и RxJs 6.2 теперь хотят, чтобы я приводил тип возвращаемого значения switchMap как Observable, чего не было раньше.Может быть, это проблема неявной типизации в RxJs?не должен ли switchMap всегда возвращать Observable?Например:
Раньше:
function GetFoo() : Observable<IFoo>
// ...
GetFoo.pipe(switchMap<IFoo,IBar>(foo => GetBarObservable(foo))
.subscribe(bar => {
console.log(bar)
});
Теперь должно быть:
function GetFoo() : Observable<IFoo>
// ... note 2nd arg is now Observable<IBar>
GetFoo.pipe(switchMap<IFoo,Observable<IBar>>(foo => GetBarObservable(foo))
.subscribe(bar => {
console.log(bar)
});
Код работает нормально после изменения, и ни один из инструментов не жаловался, но не уверен, что японимаю почему?