Jos*_*hon 15 android rx-java rx-android retrofit2
当我们使用retrofit2与Rx进行API休息调用时,使用Single或Observable的最佳方法是什么?
public interface ApiService{
Single<Data> getDataFromServer();
Observable<Data> getDataFromServer();
}
Run Code Online (Sandbox Code Playgroud)
Lam*_*rak 18
我建议使用a,Single因为它更准确地表示数据流:你向服务器发出请求,你得到一个数据发送或错误:
Single: onSubscribe (onSuccess | onError)?
Run Code Online (Sandbox Code Playgroud)
Observable理论上,您可以获得多次数据排放和错误
Observable: onSubscribe onNext? (onCompleted | onError)?
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用rx-java2,我建议使用a Maybe而不是Single.这两者之间的区别在于,Maybe当您从服务器获得响应但它不包含正文时,处理也是如此.
Maybe: onSubscribe (onSuccess | onCompleted | onError)?
Run Code Online (Sandbox Code Playgroud)
区别Observable和之间的区别Single是语义.当你宣布某些东西时,Single你说这个可观察的东西只会产生一个值而不是一系列的值.
使用适当的语义类型是记录API的最佳方式.
| 归档时间: |
|
| 查看次数: |
3674 次 |
| 最近记录: |