我正在使用RxJava重构我的存储库的实现,因此我想知道一些编辑方法,例如,用户。我的getUser(email:String),以id作为电子邮件,正在返回一个可观察到的消息,在存储库实现中,我现在从数据库或服务器获取数据,现在一切都很好。
我想实现的是编辑用户。为此,我将拥有and update(user:User)函数,并且使用它的天真方式将是
userRepository.getUser(email)
.subscribeOn(Schedulers.io())
.subscribe { user ->
user.name = "antoher name"
userRepository.update(user)
.subscribeOn(Schedulers.io())
.subscribe {
//handle response
}
}
是否有一种方法可以避免在观察者内部进行这种观察者的调用?对我来说,它不是很可读,我想有一种更好的方法,但是我不明白。
[注意:我使用的是干净的体系结构,所以我认为每个字段的更新都使我无法进入数据模块,因为我会订阅数据中的观察者,并且在活动销毁时难以处置,这是不正确的] >
我正在使用RxJava重构我的存储库的实现,因此我想知道一些编辑方法,例如,用户。我的getUser(email:String)以电子邮件作为id,正在返回一个可观察到的内容,并且...
使用RxJava的一个优势是,您可以根据需要链接任意数量的异步操作(在您的情况下,该方法将返回Observable或Single,存储方法),而不会陷入回调地狱。您在代码中看到有嵌套的订阅块。如果您必须链接更多异步网络操作怎么办?您陷入回调地狱。