Какой класс предпочтительно использовать использовать для тестирования RxJava?
TestSubscriber
Какие преимущества дает TestSubscriber по сравнению с традиционным тестированием?
Традиционный подход - упускает одно из самых больших преимуществ RxJava - обработка событий в отдельных потоках.
RxJava поставляется с классом TestSubsriber, который позволяет нам писать тесты, которые работают с асинхронной обработкой событий.
Что такое RxJava
Rx – это мощный инструмент, который позволяет решать проблемы в элегантном декларативном стиле, присущем функциональному программированию.
Какие свойства есть у Библиотеки RxJava?
-Расширяемость
RxJava может быть расширена пользовательскими операторами.
-Декларативность
Функциональные трансформации обьявлены декларативно.
-Компонуемость
Операторы в Rx легко компонуются, чтобы проводить сложные операции.
-Преобразуемость
Операторы в Rx могут трансформировать типы данных, фильтруя, обрабатывая и расширяя потоки данных при необходимости.
Когда следует использовать Rx?
Rx применяется для составления и обработки последовательностей событий.
Следует использовать Rx
Когда не следует использовать Rx?
Для превращения Iterable в Observable только для того, чтобы работать с ними через библиотеку Rx.
Основные типы RxJava?
Какие типы добавили в RxJava2?
Signle, Observable и Observer, Flowabble,Subjects и Processors, Subscriber и Subscription, Maybe
Как RxJava 2 обрабатывает Null
RxJava 2.x больше не приемлет значения NULL, и следующий код приведет к немедленному получению NullPointerException, или Emitter(порождающий поток) выбросит onError-событие.
В чем разница между Observable и Flowable?
Observable — класс без покрытия backpressure, а Flowable наделен backpressure. Backpressure(Обратное давление) — явление, которое можно встретить в порождающем потоке, где некоторые асинхронные операции не могут обрабатывать значения достаточно быстро и нуждаются в замедлении работы производителя.
когда юзать Observable
Observable -В тех кейсах, когда у вас в итерации, не более 1000 элементов. В остальных flowable
Какой тип хорошо подходит для обработки одиночного сетевого запроса?
Signle
Что делает unsubscribe? Когда его применять?
Вызов unsubscribe остановит поступление событий в observer.
Что делает Observable.interval?
Эта функция создаст бесконечную последовательность значений, отделенных заданным интервалом времени.
Что делает Observable.range?
Выдает значения из заданного диапазона.
Можно ли применять unsubscribe к Single? Почему
Да т.к. неизвестно когда Single получит результат.