RxView.clicks(button) .flatMapCompletable({ x -> networkCall() }) .subscribe(...)
点击是可观察到的。 networkCall 但是里面的街区 subscribe 当我点击按钮时从未调用。
networkCall
subscribe
RxView.clicks(button) .flatMap({ x -> networkCall().toObservable<Void>() }) .subscribe(...)
我如何才能使其工作,以便每次点击按钮时,都会发出一个网络请求,然后在 订阅 .
订阅
编辑:
public Completable networkCall() { Completable.complete(); }
所以它保证会完成。
flatMap 案例需要项目,否则其 onComplete
flatMap
onComplete
RxView.clicks(button) .flatMap({ x -> networkCall().andThen(Observable.just("irrelevant")) }) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ v -> System.out.println(v)}, { e -> e.printStackTrace() })