gpt4 book ai didi

java - RxJava 2.x : Should I use Flowable or Single/Completable?

转载 作者:IT老高 更新时间:2023-10-28 20:55:21 24 4
gpt4 key购买 nike

我正在使用 Clean Architecture 开发一个 Android 应用程序,并将其迁移到 RxJava 2.x。我必须向soap服务发出一些网络请求,所以我在domain模块中定义了api接口(interface):

public interface SiginterApi {
Observable<User> login(String user, String password);
...
Observable<List<Campaign>> getCampaigns(List<Long> campaignIds);
}

我读到网络请求应该使用“Flowable”进行,因为背压管理是一个“冷可观察”。另一方面,我知道请求的结果将是成功(有响应)或错误,所以我不知道是否应该使用 FlowableSingle甚至Observable .

此外,我有这样的数据库访问:

public interface UserRepository extends Repository {
Observable<Void> saveUser(String username, String hashedPassword, boolean logged, User user);
...
Observable<User> findUser(String username, String hashedPassword);
}

我不知道我是否应该使用 Completable/Flowable/ObservablesaveUser方法和Single/Flowable/ObservablefindUser方法。

最佳答案

背压是当一个来源 Observable 时你得到的。发出元素的速度比 Subscriber 快可以消耗它们。最常见的问题是 hot observables,而不是像您的网络请求这样的 cold 对象。

我认为你应该使用 Completable而不是 Observable<Void>在您的saveUser方法,并使用 Single适用于您遵循请求/响应或输入/输出模式的所有地方。 Observable当您实际上想要连续的事件流时应该使用。

关于java - RxJava 2.x : Should I use Flowable or Single/Completable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42525623/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com