Course Content
-
Введение в RxJava 3.0. Способы создания Observable В первом модуле вы узнаете чем отличается Observable от Observer и поймете как создать источник данных
-
Основные операторы RxJava 3.0 Рассмотрим на примерах самые популярные операторы RxJava 3.0 такие как map(), flatMap(), filter() и другие.
-
Выходим в сеть с помощью RxJava
Операторы take(), skip(), takeWhile() и skipWhile()
Оператор take()
Операторы take() и skip() являются фильтрующими операторами.
Давайте рассмотрим принцип работы на примере.
Оператор take() передает подписчику только первые n элементов переданных в качестве аргумента. Как видно из диаграммы, подписчик получит только первые 2 элемента и тут же вызовется метод onComplete().Чтобы использовать оператор take() достаточно вызвать метод take() у Observable и передать необходимое количество элементов которые следует получить подписчику.
Оператор skip()
Оператор skip() – работает наоборот, он пропускает первые n элементов.
Чтобы использовать оператор skip() достаточно вызвать метод skip() у Observable и передать необходимое количество элементов которые следует пропустить.
takeWhile() и skipWhile()
Операторы takeWhile() и skipWhile() похожи на ранее рассмотренные take() и skip(), но отличаются тем, что можно задать некое условие, при котором оператор будет либо передавать подписчику элементы удовлетворяющие условию или наоборот пропускать.
takeWhile()
takeWhile() передает подписчику элементы, пока эти элементы удовлетворяют некому условию переданному в оператор.
Обратите внимание, что в примере ниже подписчик получит только первые 3 элемента потому что они меньше 4, и, несмотря на то, что в конце последовательности есть еще числа удовлетворяющие данному условию больше подписчик не получит событий.
skipWhile() работает похожим образом с разницей только в том, что он пропускает элементы которые подходят под условие.