c# - 当其他可观察值为 true 时,从可观察值中获取项目

标签 c# .net observable system.reactive

如何根据另一个可观察 b 的( bool )值来控制通过可观察 a 推送哪些项目?

我的意思是,只有当 b 发出的最后一个项目为 true 时,才会推送 a 中的项目。

可观察序列b应该充当通过滤波器。

最佳答案

好吧,我想我至少有一个解决方案 可以通过 WithLatestFromWhere 的组合来完成。

在我的真实代码中,我有这个:

  • 视频中位置的可观察
  • 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/

相关文章:

c# - 如何更改我要使用的 JIT 类型

javascript - 面临错误 core.js :15723 ERROR TypeError: Cannot read property 'toLowerCase' of undefined In Angular 7

angular - 延迟 observable 返回值,直到我从 Angular 5 的 HTTP 请求中获得结果

javascript - 冷可观察量的用例是什么?

c# - IEditableObject 和 IRevertibleChangeTracking 有什么区别?

javascript - 在 unity C# 中手动将值分配给数组

c# - 在 C# 中使用分隔符连接字节数组

c# - 从不同的(非引用的)程序集中获取值(value)

c# - 如何通过工作组连接到 MSMQ?

c# - 如何知道异步调用何时真正开始?