I am using RxJava and I have a problem to understand flatMap.
Observable.just(1) .flatMap( item -> Observable.just(item + 1), e -> Observable.error(e), () -> Observable.never()) .subscribe( i -> { Log.d(TAG, "Got " + i); }, e -> { Log.d(TAG, "RxJava ERROR", e); });
not working with
java.lang.NullPointerException: Attempt to invoke virtual method 'void rx.internal.operators.OperatorMapNotification$SingleEmitter.offer(java.lang.Object)' on a null object reference at rx.internal.operators.OperatorMapNotification$1.onNext(OperatorMapNotification.java:82) at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:46) at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:35) at rx.Observable$1.call(Observable.java:145) at rx.Observable$1.call(Observable.java:137) at rx.Observable$1.call(Observable.java:145) at rx.Observable$1.call(Observable.java:137) at rx.Observable.subscribe(Observable.java:7803) at rx.Observable.subscribe(Observable.java:7579)
Same code, but with Observable.just (1,2,3) just works fine
Got 2 Got 3 Got 4
Is this a mistake or why does RxJava behave differently with just one argument? RxJava Version 1.0.13
source share