【发布时间】:2016-03-07 09:15:13
【问题描述】:
我正在创建一个 Observable,它在订阅时会发出整数。我现在的实现是这样设置的,所以订阅它的行为会从一开始就触发生成,如下所示:
private Observable createObservable() {
return Observable.create (
new Observable.OnSubscribe<Integer>() {
@Override
public void call(Subscriber<? super Integer> sub) {
for (int i = 1; i < MAX_PROGRESS + 1; i++) {
sub.onNext(i);
SystemClock.sleep(1000);
}
sub.onCompleted();
}
}
);
}
我的理解是这是一个冷的 Observable。我希望无论任何订阅者如何都可以生成序列,并且当订阅者确实订阅时,希望他们接收在订阅时恰好是当前的值。 IOW,把它变成一个热门的 Observable。我宁愿不继承 Observable,因为这会将它绑定到一个具体的 Integer,而实际上实际类型会有所不同。
【问题讨论】:
标签: android rx-java observable rx-android