In RX how to combine two sources of different types
-
11-11-2019 - |
سؤال
Set up:
- First
IObservable
produces values of type A - Second
IObservable
produces values of type B - They produce value at different pace (quite fast, up to every 10 ms)
What I am trying to achieve:
Every N time (N is quite slow about 500 ms) the call has to be done to the service and provide latest values from both First and Second IObservable
.
Question: I wonder how could I do using RX.
Current solution (Non working):
var stateObs = from drag in dragObs.MostRecent(0).ToObservable()
from roll in rollObs.MostRecent(0).ToObservable()
select new ClientState
{
FileDragPerc = drag,
PhoneRoll = roll,
PendingFileType = FileType.Image,
TransferState = TransferState.SelectiveTransfer
};
stateObs.Sample(TimeSpan.FromMilliseconds(300))
.Subscribe(x => _lsService.SetClientStateAsync(x),
x => Debug.WriteLine("Error in observable "),
() => Debug.WriteLine("Error observable finished! "));
لا يوجد حل صحيح
لا تنتمي إلى StackOverflow