【发布时间】:2016-12-03 12:32:06
【问题描述】:
有一个代码:
someObservable.Select(x => getY(x));
Y getY(X x)
{
if (x.Value == X.ABC)
return new Y(1);
else
return new Y(2);
}
在某些情况下,我需要在一段时间后仔细检查 x.Value。 最简单但最糟糕的解决方案是使用 Thread.Sleep:
Y getY(X x)
{
if (x.Value == X.ABC)
return new Y(1);
else
if (x.SomethingElse == true)
{
Thread.Sleep(timeout);
if (x.Value == X.ABC)
return new Y(1);
else
return new Y(2);
}
}
这里的正确代码是什么? 我需要以与接收相同的方式订购事件。 这意味着如果我有一个延迟并且我得到一个新值,它必须等待处理。
【问题讨论】:
标签: .net system.reactive reactivex