TLD
TLD

Reputation: 8135

Create ReactiveX observable in Java 6 without lambda expression

I found an example for how to create an observable object (ReactiveX):

static Observable<Integer> getDataSync(int i) {
        return Observable.create((Subscriber<? super Integer> s) -> {
            // simulate latency
                try {
                    Thread.sleep(1000);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                s.onNext(i);
                s.onCompleted();
            });
    }

But my project does not support Java 8 for lambda expression. I couldn't find example of how to use ReactiveX observable without lambda expression.

Upvotes: 2

Views: 986

Answers (1)

david.mihola
david.mihola

Reputation: 12992

Are you just looking for the correct lambda-less syntax for what you are doing?

That would be:

static Observable<Integer> getDataSync(int i) {
    return Observable.create(new Observable.OnSubscribe<Integer> {
        @Override
        public void call(Subscriber<? super Integer> s) {
            // simulate latency
            try {
                Thread.sleep(1000);
            } catch (Exception e) {
                e.printStackTrace();
            }
            s.onNext(i);
            s.onCompleted();
        }
    });
}

Upvotes: 5

Related Questions