x
- это поток.Для каждого события я генерирую поток x_i
, который сам порождает события.Из этой установки я хочу сгладить выходной поток, который содержит только события самых последних x_i
, пока не закончится x
:
x: ├─┬───┬─────┬────────┤
x_3: │ │ └─E────H───I─...
x_2: │ └─B───D────G───────...
x_1: └─A─────C────F─────────...
Ожидаемый результат -
├───A───B───D─E────H─┤
Я не могу использовать flatMap
на x
, потому что тогда все x_i
события будут объединены в выходной поток, а не только события самого последнего подпотока.
Я также не могу использовать concatMap
, потому что x_i
бесконечны, и выходной поток будет эффективно x_1
.
Это кажется мне довольно распространеннымСценарий, отсюда мой вопрос: возможно ли это с помощью стандартного RxDart (который я использую), или мне нужно реализовать это самостоятельно?