1

在 Hello World 示例中,有一个订阅者

   public static void main(String[] args) {
      Flowable.just("Hello world").subscribe(System.out::println);
   }

如何制作两个或更多?

4

1 回答 1

3

您可以将多个订阅者订阅到任何可观察/可流动的。subscribe只需根据需要多次重复呼叫。

Flowable<String> source = Flowable.just("Hello world");
source.subscribe(System.out::println);
source.subscribe(System.out::println);
...

在处理此类多个订阅的方式上,冷热可观察对象存在差异。

Cold observables/flowables 为每个新订阅者从源重新请求项目。例如,每次订阅时Flowable.fromCallable(c)都会调用。c

Hot observables/flowables 与所有订阅者共享相同的源订阅,即它们不会为每个新订阅者从源请求新项目。新项目会传播到所有当前订阅的订阅者。

于 2017-01-24T09:25:06.773 回答