Всем добрый день! А может у кого-то и не день, но главное, чтобы был добрый. В этой статье я собираюсь рассказать совсем чуть-чуть про такой класс в RxJava, как Single.
А чем Single отличается от Observable ?
А чем Single отличается от Observable ?
Конечно, у него нет всех методов, которые есть у Observable. Subscriber у Single также отличается тем, что содержит только два метода, а не три. Думаю, что все отличия в плане реализации вы сможете найти в документации.
Возникает вопрос:
чем вызваны такие изменения ?
Ответ тут очевиден: Single (что можно даже и из названия понять) содержит только один элемент, в отличии от Observable.
Кто-то подумает и скажет
пффф, ну и что? А я буду использовать всегда Obsevable, пусть в нем будет только один элемент.
По-моему мнению, в этом ничего страшного нет, но есть ли какие-то минусы от такого использования?
- Если вы знаете, что вы будете работать только с одним элементом, то в использовании Observable нет нужды или, как говорят, overkill;
- Также нужно понимать, что Observable более тяжеловесный, чем Single (а поговаривают, что Single даже быстрее);
Говоришь Single, хм...
Говоришь Single, хм...
В single возможны две ситуации:
- одно значение
- exception
Тут важно понимать, чего вы пытаетесь добиться, или какая ваша политика? Если вы считаете, что пустой результат для вас это нормально, то, скорее всего, Single вам не подойдет, но если это не так, и вы знаете, что результат обязательно должен быть, то Single это то, что вам надо. Кстати, стоит отметить, что у Single нет метода empty(). Это я на всякий случай решил сообщить.
Читать полностью »