在没有lambda表达式的Java 6中创建ReactiveX observable

时间:2016-03-25 10:34:47

标签: java rx-java reactivex

我找到了一个如何创建可观察对象(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();
            });
    }

但我的项目不支持Java 8 for lambda表达式。我找不到如何在没有lambda表达式的情况下使用ReactiveX observable的示例。

1 个答案:

答案 0 :(得分:5)

您是否只是在为正在做的事情寻找正确的无lambda语法?

那将是:

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();
        }
    });
}