Почему использование switchMap в pipe в машинописи теперь требует Observable <> для второго аргумента? - PullRequest
0 голосов
/ 27 февраля 2019

Итак, я обновил угловой проект с 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) 
   });

Код работает нормально после изменения, и ни один из инструментов не жаловался, но не уверен, что японимаю почему?

...