如何在Flowable中的所有项目发出后发出最终项目

时间:2018-04-19 02:25:22

标签: java rx-java rx-java2

我希望在发出Flowable中的所有项目后发出最终项目。现在我可以通过以下代码实现这一点。

Flowable<String> flowable = getFlowable();
flowable.toList()
        .toFlowable()
        .flatMap(stringList -> {
            stringList.add("final String");
            return Flowable.just(stringList);
        })
        .subscribe(System.out::println);

问题是,它等到发射前获得所有项目。我希望它们在获得时立即发出,一次一个,并且在最后一项之后可以发出额外的final String,如何实现呢?

1 个答案:

答案 0 :(得分:2)

您可以使用concatWith

flowable.concatWith(Flowable.just(stringList))
        .subscribe(System.out::println);