MVP-RxJava-Hybride icon indicating copy to clipboard operation
MVP-RxJava-Hybride copied to clipboard

这个逻辑是不是可以优化一下???

Open TJYOYO opened this issue 8 years ago • 1 comments

public < T > Observable<T> flatResponse(final T response) {
        return Observable.create(new Observable.OnSubscribe<T>() {
            @Override
            public void call(Subscriber<? super T> subscriber) {
                if (response != null) {
                    if (!subscriber.isUnsubscribed()) {
                        subscriber.onNext(response);
                    }
                } else {
                    if (!subscriber.isUnsubscribed()) {
                        subscriber.onError(new APIException("自定义异常类型", "解析json错误或者服务器返回空的json"));
                    }
                    return;
                }
                if (!subscriber.isUnsubscribed()) {
                    subscriber.onCompleted();
                }
            }
        });
    }

将subscriber的判断提取出来

public < T > Observable<T> flatResponse(final T response) {
        return Observable.create(new Observable.OnSubscribe<T>() {
            @Override
            public void call(Subscriber<? super T> subscriber) {
                 if (subscriber.isUnsubscribed()) {
                        return;
                    }
                if (response != null) {
                        subscriber.onNext(response);
                } else {
                        subscriber.onError(new APIException("自定义异常类型", "解析json错误或者服务器返回空的json"));
                    return;
                }
                subscriber.onCompleted();

            }
        });
    }

TJYOYO avatar Apr 05 '17 03:04 TJYOYO

可以,这个是我写的一个初型,提过大家学习,目前项目中用的比这个好很多。

youxin11544 avatar Apr 28 '17 08:04 youxin11544