BaseSubscriber
осуществляет учет и охрану в методах Subscriber
, поэтому вам не нужно писать, что шаблон и беспокоиться о том, что шаблон корректен / охватывает все основы (например, защита от исключений в onNext
/ onSubscribe
/ et c ... и перевод указанных исключений в onError
сигналы).
Обратите внимание, что при использовании лямбда-версий Flux#subscribe
создается довольно похожий LambdaSubscriber
с таким же образцом.
Тогда в обоих случаях вам, как разработчику, остается только реализовать бизнес-логику c. В одном случае это через предоставленные лямбды, а в случае BaseSubscriber
- через реализацию методов hookXxx
.
Основное различие между лямбда-подходом и подходом BaseSubscriber
заключается в лямбдах, которые вы не можете состояние доступа, отличное от входного параметра лямбды. С BaseSubscriber
мы специально фиксируем Subscription
, и методы перехвата могут cancel()
или request(n)
этой подписки.