Rx 2 Android 对于 api 调用,Single 或 Observable 哪个更好?

2024-03-18

当我们使用 Retrofit2 通过 Rx 进行 API Rest 调用时,最好的使用方法是什么,单一还是可观察?

public interface ApiService{

Single<Data> getDataFromServer();

Observable<Data> getDataFromServer();
}

我建议使用Single因为它更准确地表示了数据流:您向服务器发出请求,然后您会得到任一数据发射OR一个错误:

Single:     onSubscribe (onSuccess | onError)?

For an Observable理论上你可以获得多次数据发射AND一个错误

Observable: onSubscribe onNext? (onCompleted | onError)?

但是,如果您正在使用rx-java2 /questions/tagged/rx-java2,我建议使用Maybe https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#maybe代替Single。这两者之间的区别在于Maybe还处理当您从服务器获取响应但不包含正文时的情况。

Maybe:      onSubscribe (onSuccess | onCompleted | onError)?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rx 2 Android 对于 api 调用,Single 或 Observable 哪个更好? 的相关文章

随机推荐