我正在运行一个 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 版本时,问题就消失了。
版本:
- 角 8.0.0
- 打字稿 3.4.5
- RxJS 6.4.0
我刚刚测试过,同样的事情正在发生flatMap