fbpx

Course Content

Total learning: 16 lessons Time: 1 week

Читаем Marble Diagram на примере filter()

Предлагаю рассмотреть Marble Diagram на примере оператора filter(). Оператор filter() – как можно понять из названия фильтрует данные и пропускает только те, которые удовлетворяют описанному предикату, в данном случае условие x>10.

Marble Diagram представляет из себя схему работы оператора RxJava и состоит из следующих компонентов.

Так как все события происходят относительно времени, то Горизонтальная ось – представляет собой время. 

Элементы в виде кружков – обозначают события, которые излучаются источником данных.

 

В прямоугольнике ниже горизонтальной оси обозначен некий предикат или функция которая применяется к каждому событию

На нижней оси показаны результаты работы оператора. Как мы видим, в результате мы получили только те события, которые удовлетворяют условию x>10. Это как раз те события которые мы получим в методе onNext()

Вертикальная черта в конце оси – обозначает вызов метода onComplete() и завершение получения событий. После onComplete() других вызовов таких как onError() или onNext() уже не будет.

Надеюсь, теперь вы сможете прочитать как работает тот или иной оператор, используя Marble Diagram. Ну, а в следующем уроке мы рассмотрим примеры работы операторов take(), skip(), map().