【发布时间】:2015-01-29 18:50:50
【问题描述】:
我正在尝试定期合并两个传感器数据流,但在 Rx 中无法正确执行此操作。我想出的最好的是下面的示例,但是我怀疑这是对 Rx 的最佳使用。
有没有更好的方法?
我尝试过 Sample(),但传感器以不规则的时间间隔产生值,慢(> 1 秒)和快(
Observable<SensorA> sensorA = ... /* hot */
Observable<SensorB> sensorB = ... /* hot */
SensorA lastKnownSensorA;
SensorB lastKnownSensorB;
sensorA.Subscribe(s => lastKnownSensorA = s);
sensorB.Subscribe(s => lastKnownSensorB = s);
var combined = Observable.Interval(TimeSpan.FromSeconds(1))
.Where(t => _lastKnownSensorA != null)
.Select(t => new SensorAB(lastKnownSensorA, lastKnownSensorB)
【问题讨论】:
标签: c# system.reactive