如何根据另一个可观察 b 的( bool )值来控制通过可观察 a 推送哪些项目?
我的意思是,只有当 b 发出的最后一个项目为 true 时,才会推送 a 中的项目。
可观察序列b应该充当通过滤波器。
最佳答案
好吧,我想我至少有一个解决方案
可以通过 WithLatestFrom
和 Where
的组合来完成。
在我的真实代码中,我有这个:
- 视频中位置的可观察
- bool 值的可观察值,指示用户是否已开始“搜索”操作(通过在视频播放器中任意拖动拇指)
positionObs
.WithLatestFrom(isSeekingObs, (pos, isSeeking) => new { pos, isSeeking })
.Where(x => !x.isSeeking)
.Select(x => x.pos);
必须结合两个最新值并对“信号器”应用过滤器。
无论如何,我想知道是否有更干净的解决方案。
关于c# - 当其他可观察值为 true 时,从可观察值中获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70008556/