连接不同类型的可观察对象
Concat different types of observables
我想连接不同的可观察对象来创建一个 activity 流,使用 SQLBrite 将信息保存到我的 android sqlite 数据库中
此流程必须遵循以下活动顺序:
1 - 创建一个负责打开事务实例的可观察对象
2 - 连接许多可观察对象,每个对象负责将数据插入 tables(每个 table 一个可观察对象)
3.a - 如果每个数据都被插入(doOnCompleted 方法),记录它并将我的事务实例设置为成功
3.b - 如果有错误,记录这个错误(doOnError 方法)
4 - 关闭我的事务实例(doOnTeminate 方法)
问题:
doOnError、doOnCompleted 和 doOnTerminate 等方法不会将我的事务实例作为参数发送。有办法吗?
我认为将打开连接的操作设为可观察的操作不会给您带来任何好处。这里有一个更简单的方法来解决您的问题。
SomeObject transaction=new Transaction();
Observable.concat(obs1,obs2,obs3)
.doOnCompleted(logStuff())
.doOnError(e->)
.doOnTerminate(transaction.close());
我想连接不同的可观察对象来创建一个 activity 流,使用 SQLBrite 将信息保存到我的 android sqlite 数据库中
此流程必须遵循以下活动顺序:
1 - 创建一个负责打开事务实例的可观察对象
2 - 连接许多可观察对象,每个对象负责将数据插入 tables(每个 table 一个可观察对象)
3.a - 如果每个数据都被插入(doOnCompleted 方法),记录它并将我的事务实例设置为成功
3.b - 如果有错误,记录这个错误(doOnError 方法)
4 - 关闭我的事务实例(doOnTeminate 方法)
问题:
doOnError、doOnCompleted 和 doOnTerminate 等方法不会将我的事务实例作为参数发送。有办法吗?
我认为将打开连接的操作设为可观察的操作不会给您带来任何好处。这里有一个更简单的方法来解决您的问题。
SomeObject transaction=new Transaction();
Observable.concat(obs1,obs2,obs3)
.doOnCompleted(logStuff())
.doOnError(e->)
.doOnTerminate(transaction.close());