RxJava链式调用遵循可观察的<;无效>;

RxJava链式调用遵循可观察的<;无效>;,java,android,rx-java,Java,Android,Rx Java,我一直在包装一个同步库,这样每个执行IO的方法都会返回一个可观察的。然而,其中一些方法返回可观察的,因为我只关心它的完成情况 如何在一个不发出任何信息的可观察的之后链接调用 accountManager.doAuth() .flatMap(x -> paginator.next()) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.i

我一直在包装一个同步库,这样每个执行IO的方法都会返回一个可观察的
。然而,其中一些方法返回
可观察的
,因为我只关心它的完成情况

如何在一个不发出任何信息的
可观察的
之后链接调用

accountManager.doAuth()
            .flatMap(x -> paginator.next())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribeOn(Schedulers.io())
            .subscribe(... subscriber stuff ...)
我必须为每个请求调用
doAuth
,它返回
Observable
。由于它不发出项目,因此永远不会调用onNext
,只调用
onCompleted

关于doAuth,我只关心它是否完成或出现错误。如果它完成,我希望调用
paginator.next()
,这样我就可以在
onCompleted/onError/onNext
中实现我自己的逻辑


到目前为止,我一直在使用
flatMap
来链接调用,当我真正关心以前的可观察对象返回的内容时,它工作得很好。

1.1.1
发布以来,它具有
可完成的
,完全符合您的需求。您可以返回
Completable
,而不是返回
Observable

public Completable doAuth(){
    return Completable.create(subscriber -> {
        //do auth
        if(authOk) subscriber.onCompleted();
        else subscriber.onError(throwable);
    });
}

关于
Completable
的好文章:,

假设我需要执行一些Completable,然后在最后可以观察到并订阅,我该怎么做?@Shvalb在
Completable
中有
操作符,它与
observatable
中的平面图非常相似