Я пытаюсь добиться поведения, аналогичного поведению шины событий. Для моих требований подходит PublishSubject
.
Субъект испускает элементы, представляющие результат некоторой глобальной операции, которая может быть успешно разрешена или завершиться ошибкой в случае исключения. Я не могу использовать onNext()
для успешных событий и onError()
с Throwable
в случае ошибки, поскольку после вызова onError()
субъект завершает свою работу, и любые будущие подписчики не получат никаких выбросов, кроме onError()
.
Прямо сейчас, как я это вижу, мне нужно создать класс, представляющий событие, и, возможно, ссылку на Throwable
в случае ошибки. Однако это кажется неразумным, поскольку приходилось бы обрабатывать ошибки внутри onNext()
.
Как бы вы это сделали?