RxJava Observable toList operatorメモ
📅 2015/09/03
以下のようなonNext()を呼ばないパターンのあるObservableでtoList operatorを使った時のメモです。
Observable listObservable = Observable.create(new Observable.OnSubscribe<Object>() {
@Override public void call(Subscriber<? super Object> subscriber) {
// Point1 : create object list.
// Point2 : call onNext() in a foreach block.
subscriber.onCompleted();
}
}).toList()
.subscribe(new Observer<List<Object>>() {
@Override public void onCompleted() {
}
@Override public void onError(Throwable e) {
}
@Override public void onNext(List<Object> objects) {
// Question : objects.size()は?
}
});
foreachが実行されてsubscriber.onNext()が呼ばれる場合はQuestionの部分のobjects.size()は0より大きな値が返ってきます。 subscriber.onNext()が呼ばれない場合でもQuestionの部分のobjects.size()=0で返ってきます。