항목 스트림이 있고 조건이 충족 될 때까지 속성별로 그룹화하는 구독을 만들고 싶습니다.RX 제목, 조건이 충족 될 때까지 그룹화/연결
예를 들어 Id
이 나타날 때까지 EventItem
을 이름으로 그룹화한다고 가정 해 봅시다. 요점은 더 이상 관련 이벤트가 없다는 것을 알리는 특정 Id
을 볼 때까지 이벤트를 상관시키는 것입니다. 그런 다음 상호 연관된 이벤트의 각 그룹에 대해 몇 가지 작업을 수행하려고합니다.
public class EventItem
{
public int Id { get; set }
public string Name { get; set; }
}
// Using a Subject since it seems the simplest way
Subject<EventItem> eventStream;
...
// A seperate thread pushes EventItem objects into the Subject
eventStream.OnNext(eventItem);
// Struggling here...
IDisposable subscription = eventStream.????
나는 TakeWhile
등 TakeUntil
, GroupByUntil
, GroupBy
으로 여러 조합을 시도했습니다,하지만 난
내가 부탁 할 수있는 경우에'는 IDisposable 가입 = eventStream.TakeWhile (! 에이 => ei.Id = 42) .GroupBy (X => x.Name) .Subscribe (Y => {}); '당신이 찾고있는 것이 아닙니까? – Enigmativity
@Enigmativity는 작동하는 것처럼 보이지만 한 번만; 즉 그룹을 본 후에는 더 이상 볼 수 없습니다 (구독이 종료 되었습니까?) – Cocowalla
무슨 뜻인지 보여주는 샘플 데이터를 제공 할 수 있습니까? – Enigmativity