RxJava2:替代 Observable<Void>
RxJava2: Alternative to Observable<Void>
我有一个 API,其中 return 只有 error/success 代码,没有正文。对于 RxJava1,我会使用 Observable<Void>
作为此调用的 return 值。
我可以为 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'
使用Completable
.
如果操作成功,它将发出成功终止事件。如果失败,您可以使用自己的 Exception
子类来包装必要的错误代码。
您仍然可以使用 Observable,但将 Void 类型替换为这样定义的枚举类型
public enum Terminal {
TERMINAL
}
然后像这样使用它
Observable<Terminal>
PS:您可以随意命名枚举
我有一个 API,其中 return 只有 error/success 代码,没有正文。对于 RxJava1,我会使用 Observable<Void>
作为此调用的 return 值。
我可以为 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'
使用Completable
.
如果操作成功,它将发出成功终止事件。如果失败,您可以使用自己的 Exception
子类来包装必要的错误代码。
您仍然可以使用 Observable,但将 Void 类型替换为这样定义的枚举类型
public enum Terminal {
TERMINAL
}
然后像这样使用它
Observable<Terminal>
PS:您可以随意命名枚举