RxJava2:Observable的替代<void>

时间:2017-02-07 15:44:38

标签: android rx-android rx-java2

我有一个API,它只返回错误/成功代码,没有正文。使用RxJava1,我会使用Observable<Void>作为此调用的返回值。

我可以为RxJava2使用什么? Wiki上对RxJava2(link)的提示没有帮助,因为我无法更改API的工作方式。

设定:

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'

2 个答案:

答案 0 :(得分:24)

使用Completable

如果操作成功,它将发出成功的终止事件。如果失败,您可以使用自己的Exception子类来包装必要的错误代码。

答案 1 :(得分:0)

您仍然可以使用Observable,但是将Void类型替换为这样定义的枚举类型

public enum Terminal {
    TERMINAL
}

然后像这样使用它

Observable<Terminal>

PS:您可以根据需要命名枚举