doOnSuccess
будет, как следует из названия, вызываться только тогда, когда ваша наблюдаемая возвращает элемент успешно и не вызывает ошибку. Таким образом, вы будете только регистрировать ответы подтверждения.
Кроме того, doOnSuccess работает для синглов или Maybes, которые могут излучать только один элемент (в противном случае вы использовали бы doOnNext). Если вы используете Observable, который может испускать несколько предметов, вы будете использовать doOnNext
, чтобы иметь точно такое же поведение.
doOnEach
будет вызван независимо от того, испускает ли наблюдаемый объект элемент, ошибку или нет. Он получает уведомление вместо самого предмета. Это будет называться:
- onSuccess и onError для одного
- onNext, onComplete и onError для типичного наблюдаемого
Весьма вероятно, что наблюдаемый предмет изменился с одного на наблюдаемый. Кроме того, существует необходимость в регистрации ошибок и успехов, поэтому doOnNext
не был выбран.