2016-05-06 3 views
0

Need process У меня есть 2 наблюдаемых, которые могут создавать оранжевые и зеленые объекты (1 и 2). Это два объекта - пара (зеленый активирует оранжевый по таймеру другого триггера).rxjava собирать объекты по условию и ждать другого наблюдаемого

Некоторое время у меня возникает ситуация, когда различные наблюдаемые могут испускать (производить) одинаковые оранжевые предметы (A и B одинаково внутри). В такой ситуации мне нужно проверить, если A равно B, и оставил один объект для ожидания зеленого активатора (А и B, конечно, могут быть разными). Если появится зеленый активатор для A или B, мне нужно проверить, подходит ли зеленый активатор для апельсина, и делать действия.

Я думаю, что я должен использовать PublishObjects и комбинировать зеленые и оранжевые объекты (не так, как проверить состояние и левый объект, если он не подходит), и даже не подозревают, как объединить 2 оранжевых объекта вместе. Pls любой догадаться, как это сделать?

ответ

0

Я нашел еще одно решение по комбинации простых операторов RxJava (архитектура, характерная для моего проекта), но вот два возможных решения: 1) Напишите собственного оператора (я не был готов работать с производителями), этот link может помочь вам в этом;
2) используйте последний оператор combLatest() с тяжелым кодом функции (так как я вижу два списка для двух наблюдаемых объектов, их комбинационную логику и очистку с помощью тайм-аута);