订阅另一个可观察的观察者的订阅者是否有任何问题?
这就像:
Observable.create((Subscriber<? super Response> subscriber) -> {
Observable<T1> o1 = createObservableT1(location); //Hot observable
Observable<T2> o2 = createObservableT2(location); //Hot observable
Observable.zip(o1,o2,(T1 r1, T2 r2) -> {
return createResponse(r1,r2);
}).subscribe(subscriber); //Subscribe our subscriber to the created observable
});
它是一个好的模式还是有一些隐藏的缺点? 如果有一些缺点,我怎么能考虑到o1和o2是热的可观察量,需要结合起来创建必须被保留为冷的Observable。
答案 0 :(得分:1)
我找不到任何问题。但我建议defer
,例如
Observable.defer(
() -> createObservableT1(location)
.zipWith(createObservableT2(location),
(r1, r2) -> createResponse(r1, r2)));