rxjava代码多层转化

来源:互联网 发布:jquery java上传文件 编辑:程序博客网 时间:2024/06/04 18:31
Observable<List<Dev>> observable = Observable        .create(new Observable.OnSubscribe<List<TestResponse<List<Dev>>>>() {            @Override            public void call(Subscriber<? super List<TestResponse<List<Dev>>>> subscriber) {            }        })        .map(new Func1<List<TestResponse<List<Dev>>>, TestResponse<List<Dev>>>() {            @Override            public TestResponse<List<Dev>> call(List<TestResponse<List<Dev>>> testResponses) {                return testResponses.get(0);            }        })        .flatMap(new Func1<TestResponse<List<Dev>>, Observable<List<Dev>>>() {            @Override            public Observable<List<Dev>> call(final TestResponse<List<Dev>> listTestResponse) {                return Observable.create(new Observable.OnSubscribe<List<Dev>>() {                    @Override                    public void call(Subscriber<? super List<Dev>> subscriber) {                        if (listTestResponse.getData().isEmpty()) {                            subscriber.onError(new IOException(""));                        }                        subscriber.onNext(listTestResponse.getData());                        subscriber.onCompleted();                    }                });            }        });
原创粉丝点击