在RxJS中,有一个switchMap函数。在ReactiveX/Rx.NET?中是否有类似的我在转化文档中没有看到一个。
发布于 2017-03-31 11:31:01
编辑
switch是等价的。http://reactivex.io/documentation/operators/switch.html
简而言之,switchMap和switch将取消以前的任何流,而flatMap则不会。
发布于 2017-09-08 11:16:18
在SwitchMany中,没有一个Rx.NET与Rx.js中的switchMap等效。您需要使用单独的选择和切换功能。
Observable.Interval(TimeSpan.FromMinutes(1))
.Select(_ => Observable.Return(10))
.Switch()文档:https://msdn.microsoft.com/en-us/library/hh229197(v=vs.103).aspx
发布于 2018-10-08 09:43:35
来自http://reactivex.io/documentation/operators/switch.html
开关操作符订阅一个可观测的,发射可观测的。每当它观察到其中一个发射的可观测物时,从先前发出的可观测到的开关无订阅返回的可观测的开始从最近的可观测到的发射项目。
正如MorleyDev所指出的,.NET实现是https://learn.microsoft.com/en-us/previous-versions/dotnet/reactive-extensions/hh229197(v=vs.103),因此与Rx.NET中的RxJS switchMap等价的是交换机和Select的组合:
// RxJS
observableOfObservables.pipe(
switchMap(next => transform(next))
...
)
// RX.Net
observableOfObservables
.Switch()
.Select(next => transform(next))
...https://stackoverflow.com/questions/43139454
复制相似问题