Completableが正常に完了したときにflatMapCompletableが指定されたアクションを呼び出すと予想していました。しかし、私は思った通りに動作しません。ここに簡単な例があります:flatMapCompletableが指定されたアクションを呼び出さない
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
});
この現象は予期しないものですか?もしそうなら、Completableタスクが完了したかどうかを確認するには? Completable.complete().doFinally()
?
ありがとうございます。私は理解した。もし私がPublishProcessorを使いたいのであれば、おそらくこのようになるだろうか? 'processor.flatMapCompletable(S1 - > { のSystem.out.println( "S1" + S1); リターンCompletable.complete() .doOnComplete(() - > processor.onComplete());} ) .subscribe(() - > System.out.println( "done") ); ' – tomoima525