Ich habe erwartet, dass flatMapCompletable die angegebene Aktion aufruft, wenn Completable normal beendet wird. Es funktioniert jedoch nicht wie ich dachte. Hier ist ein einfaches Beispiel:flatMapCompletable ruft die angegebene Aktion nicht auf
PublishProcessor<String> processor = PublishProcessor.create();
processor.flatMapCompletable(s2 -> {
System.out.println("s2 " + s2);
return Completable.complete();
}).subscribe(() -> {
System.out.println("done"); // it does not come here
});
Ist das erwartete Verhalten? Wenn ja, wie kann ich prüfen, ob die Compleable-Task abgeschlossen ist? Completable.complete().doFinally()
?
Vielen Dank für Ihre Antwort. Ich habe verstanden. Wenn ich PublishProcessor verwenden möchte, wird es vielleicht so sein? 'processor.flatMapCompletable (s1 -> { System.out.println ("s1" + s1); return Completable.complete() .doOnComplete (() -> processor.onComplete());} ) .subscribe (() -> System.out.println ("done") ); ' – tomoima525