Есть примерно такой код:
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 == X.ABC' нужно совершить повторно через некоторое время так как Value может поменяться.
Т.е. что-то вроде:
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);
}
}
Как правильно избавиться от Thread.Sleep ?