Каков наилучший способ обработки действий, запускающих преобразования в RxDart
?
Сценарии
- Отправить запрос, как только пользователь нажмет кнопку.
- Запрос новой страницы в списке.
В других реализациях Reactive, таких как RxSwift
, вы можете определить тип Observable<Void>
и прослушивать новые события, чтобы начать преобразования.
Вы можете определить Observable в RxDart
, но затем вы вынуждены добавить что-то в тему, например subject.add('something')
или subject.add(0)
, что сбивает с толку. Было бы здорово использовать subject.add(void)
, subject.add()
или subject.add(())
, но это невозможно.
Первая идея, которая приходит мне в голову, - это создать новый тип, такой как Empty
или, более конкретно, для предложенных сценариев Action
.
Тогда я мог бы сделать что-то вроде этого:
PublishSubject<Action> action = PublishSubject<Action>();
action.withLatestFrom(...)
.map(....) // Apply the desired transformations
....
....;
action.add(Action.create());
action.add(Action.create());
Я заново изобретаю колесо?
Есть ли более простой подход к элегантной обработке того, что я здесь предлагаю?