[英]Rxjava2 combine multiple operations
例如,如果我有3个功能
Completable requestLogin()
Single hasProjects()
Completable createDefaultProject()
我如何在单个请求中将它们组合
requestLogin() >
onComplete >
hasProjects() >
onSuccess >
if(!hasProjets) >
createDefaultProject()
有可能的? 如果发生错误怎么办?
这就是您使用Rx的原因之一。 一种可能是:
requestLogin()
.andThen(
hasProjects()
.filter(value -> !value)
.flatMapCompletable(value -> createDefaultProject()))
.subscribe(() ->{}, throwable -> {
// All errors will end up here
});
我们要求登录,登录完成后,我们将检查是否有项目。 如果不是,则filter
不会终止创建默认项目的流。 如果有项目,则不会创建默认项目。
如果在执行过程中出现任何错误,将调用onError
方法,您可以在那里处理错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.