【发布时间】:2023-03-26 12:17:01
【问题描述】:
我一直在包装一个同步库,所以每个执行 IO 的方法都会返回一个Observable。但是其中一些方法返回Observable<Void>,因为我只关心它的完成。
如何在不发出任何内容的 Observable 之后链接调用?
accountManager.doAuth()
.flatMap(x -> paginator.next())
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(... subscriber stuff ...)
我必须为每个请求调用doAuth,它会返回Observable<Void>。因为它不发出项目,所以永远不会调用 onNext,只会调用 onCompleted。
关于doAuth 我只关心它是否完成或出错。如果完成,我希望调用 paginator.next(),以便我可以在 onCompleted/onError/onNext 中实现我自己的逻辑。
到目前为止,我一直在使用 flatMap 链接调用,当我真正关心以前的 Observables 返回的东西时,它工作得很好。
【问题讨论】: