我想先执行任务1
,然后再执行任务2
,而不需要组合它们发出的项目。我有以下代码:
interface Service {
Observable<Something> doTask1();
Observable<SomethingElse> doTask2();
}
这是一种好的方式来使它们返回
Observable<Void>
以便进行合并吗?
两个任务是独立的,所以第一个可以返回一个空的Observable
但第二个必须被执行。public Observable<Void> doTasks() {
Observable.merge(service.doTask1(), service.doTask2());
}
如果是这样的话,是否有任何"正确"的方法将Observable<Something>
映射到Observable<Void>
?我是这样做的:
public class TaskService implements Service {
public Observable<Void> doTask1() {
return getSomething().map(new Func1<Something, Void>() {
@Override
public Void call(Something something) {
return null;
}
});
}
}
任何建议都将受到赞赏。