我期待flatMapCompletable將在Completable正常完成時調用給定的Action。但是,它並不像我想象的那樣工作。這裏有一個簡單的例子: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