У меня есть событие клика, которому нужно сделать сетевой запрос.
RxView.clicks(button)
.flatMapCompletable({ x -> networkCall() })
.subscribe(...)
Щелчок является Observable.networkCall
возвращает Completable.
Однако блок внутри subscribe
никогда не вызывается, когда я нажимаю кнопку.
я тоже пробовал
RxView.clicks(button)
.flatMap({ x -> networkCall().toObservable<Void>() })
.subscribe(...)
Как я могу заставить это работать, чтобы каждый раз, когда я нажимаю на кнопку, выполнялся сетевой запрос, который затем обрабатывался в файле subscribe
.
РЕДАКТИРОВАТЬ:
Я еще не занимался сетевыми делами, так что в настоящее время это просто
public Completable networkCall() {
Completable.complete();
}
Так что он гарантированно завершится.
onNext
, это может не сработать. Вы также переопределили функциюonComplete
со своим подписчиком? - person Christopher   schedule 24.08.2017RxView.clicks
вообще не завершается! reactivex.io/RxJava/javadoc /io/реактивкс/ - person Christopher   schedule 24.08.2017flatmapCompletable
не подходит, поэтому я также попробовал второй блок кода. Я переопределилonNext
иonComplete
и просто добавил журналы и точки останова в эти методы, и это тоже не сработало. Однако даже со вторым блоком кода я все еще обеспокоен, поскольку он может закончить поток, когдаonComplete
вызывается из сетевого вызова. - person SunnySydeUp   schedule 24.08.2017