MVP-RxJava-Hybride
MVP-RxJava-Hybride copied to clipboard
这个逻辑是不是可以优化一下???
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();
}
});
}
可以,这个是我写的一个初型,提过大家学习,目前项目中用的比这个好很多。