Оператор switchMap RXJS v6.4 возвращает Observable, а не результат (в соответствии с TypeScript linter) - PullRequest
0 голосов
/ 13 июня 2019

У меня работает приложение Angular 8, и я получаю сообщение об ошибке, которое, по-видимому, является серьезной ошибкой в ​​RxJS, или я что-то упускаю.

import { of } from 'rxjs';
import { switchMap } from 'rxjs/operators';
of(1,2,3)
  .pipe(
    switchMap((x) => of(x + 1))
  )

Теперь я ожидаю, что подписчик получитследующий вывод:

//2, 3, 4

Но вместо этого выводится фактическая наблюдаемая, которую я возвращаю в операции switchMap:

//Observable<number>, Observable<number>, Observable<number>

РЕЗЮМЕ

По сути, кажется, что switchMap возвращает значение типа Observable<Observable<number>> вместо просто Observable<number>.

Я не уверен, если это, если это ошибка TypeScript или RxJS, но кажется, что когдаЯ возвращаю RxJS к версии 6.0.0, проблема исчезает.


Версии:

  • Angular 8.0.0
  • TypeScript3.4.5
  • RxJS 6.4.0

Я только что проверил, и то же самое происходит с flatMap

1 Ответ

0 голосов
/ 13 июня 2019

Не уверен, что проблема была здесь, но мне удалось решить ее.Один из следующих шагов должен был сделать это, но я не знаю, какой:

...