سؤال

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! "));

لا يوجد حل صحيح

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top