我们有一个用户可以拖动的图表。在鼠标移动时,我们有一个事件,它设置了一个属性,用新旧值触发 OnNext(这在其他地方需要)。
public double Value
{
get { return _value; }
set
{
if(ShouldUpdate && value!=_value)
_subject.OnNext(factoryMethod(this, value, _value, Index));
_value = value;
}
}
我需要得到拖动的第一个和最后一个项目。通过最后一项,我假设事件之间是否有 250 毫秒的暂停。
即用户开始拖动第一个事件正在存储下一个事件即将到来。当他停止拖动并且在 250 毫秒内没有出现新事件时,将调用一个订阅,其中包含第一个和最后一个元素的列表。当用户开始再次拖动时,新的第一个和最后一个正在创建(我不关心旧值)。