Ich möchte task 1
und dann task 2
durchführen, ohne ihre emittierten Elemente zu kombinieren. Ich habe dies:Mapping Observable <Something> zu Observable <Void>
interface Service {
Observable<Something> doTask1();
Observable<SomethingElse> doTask2();
}
Ist es ein guter Ansatz, um sie Observable<Void>
zu machen, um sie zurück zu fusionieren? Beide Aufgaben sind unabhängig, so dass die erste möglicherweise eine leere Observable
zurückgeben, aber die zweite muss sowieso ausgeführt werden.
public Observable<Void> doTasks() {
Observable.merge(service.doTask1(), service.doTask2());
}
Wenn ja, gibt es einen „richtigen“ Weg, um ein Observable<Something>
zu Observable<Void>
abzuzubilden? Ich mache es so:
public class TaskService implements Service {
public Observable<Void> doTask1() {
return getSomething().map(new Func1<Something, Void>() {
@Override
public Void call(Something something) {
return null;
}
});
}
}
Jede Beratung wird geschätzt.
Machst du etwas mit den Emissionen der zusammengeführten Observable? Was machen Sie weiter unten im Stream mit dem zusammengeführten Observable? – yosriz
Nein, bin ich nicht. Ich möchte nur die Aufgabe ausführen. Emittierte Elemente sind nicht wichtig. –