Ich versuche ein Beispiel mit rxjava zu erstellen. Das Beispiel sollte ein ReactiveWareService und ein ReactiveReviewService, das ein WareAndReview-Verbund zusammenführt, orchestrieren.
%Vor%Angesichts der Tatsache, dass ich kein Observable zurückgeben möchte, wie kann ich warten, bis async Observable (findReviewsByItem) abgeschlossen ist?
Die meisten Beispiele können mit Standard-RxJava-Operatoren umgeschrieben werden, die gut zusammenarbeiten:
%Vor% Wenn Sie solche Dienste erstellen möchten, denken Sie an flatMap
zuerst. Sie müssen nicht für jedes Sub-Observable, sondern nur ganz am Ende mit toBlocking()
blocken, wenn es wirklich notwendig ist.
Sie können Methoden von BlockingObservable verwenden siehe Ссылка . z. B.
%Vor%Ein anderer Weg wäre, einen CountdownLatch vor dem Start zu deklarieren. Rufen Sie dann countDown () für diese Verriegelung in Ihrem onCompleted () auf. Sie können dann Ihr Thread.sleep () mit awarts () für dieses Latch ersetzen.