在 Hello World 示例中,有一个订阅者
public static void main(String[] args) {
Flowable.just("Hello world").subscribe(System.out::println);
}
如何制作两个或更多?
您可以将多个订阅者订阅到任何可观察/可流动的。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 与所有订阅者共享相同的源订阅,即它们不会为每个新订阅者从源请求新项目。新项目会传播到所有当前订阅的订阅者。