Rxjava2 合并多个操作
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
方法将被调用,你可以在那里处理错误。
例如,如果我有 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
方法将被调用,你可以在那里处理错误。