는 설정 :하는 다른 유형의 두 가지 소스를 결합하는 방법을
- 먼저
IObservable
유형 의 값을 생성하는 - 둘째
IObservable
유형 B 그들은 생산 - 의 값을 생성 각기 다른 속도의 가치 (매우 빠른, 매 10ms마다)
:
모든 N 시간 통화가 모두 먼저 및 두 번째에서 최신 값을 서비스에 수행하고 제공해야한다 (N은 매우 느린 약 500 밀리)IObservable
.
질문 : RX를 사용하여 어떻게 할 수 있을지 궁금합니다.
현재 솔루션 (비 작동) :
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! "));
엡이다, 우편 번호와 문제는 하나의 소스가 하나 개의 뜻을 다른 뒤에 지퍼 빠른 일으키기 속도가하고있는 경우이기 때문이다. – Vitalij
@Vitalij Rx에 대해 쿼리 이해 구문을 사용하지 말 것을 권합니다. 대부분의 연산자는 사용할 수 없으므로 결국 메서드 연산자와 결합하면 모든 것이 엉망이 될 것입니다. – Asti