我精心设计了此解决方案,以替代combineLatest运算符
换句话说,想要将我的原始流切换为另一个流,但仍然可以从原始流中获取价值

switchMap(sourceValue => combineLatest([of(sourceValue), anotherObservable]))

你们都可以帮我找到比这一解决方案更简单/更优雅的解决方案吗?

最佳答案

因此,每当您的原始可观察对象发出sourceValue时,您都想发出对[sourceValue,otherValue],其中otherValue来自另一个可观察对象(每次原始sourceValue更改时都将被重新订阅),对吗?

如果是这样,则原始代码应等效于更不言自明的(和更有效的):

switchMap(sourceValue => anotherObservable.pipe(map( otherValue => [sourceValue, otherValue] )) )

09-27 22:03