【发布时间】:2018-06-20 04:56:33
【问题描述】:
对 RxJava 还是有点陌生,并试图实现一个返回 Completable 的方法:
这是改造类:
@GET
Completable fetchSomething(@Url String url);
这里是我调用该方法的地方:
myRetrofit.fetchSomething(url)
.subscribe(new CompletableObserver() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onComplete() {
}
@Override
public void onError(Throwable e) {
}
});
}
看起来很简单,但是 CompletableObserver 的主体不会编译。我收到此错误:
错误:找不到合适的订阅方法(匿名 CompletableObserver)
方法 Completable.subscribe(Action0) 不是 适用
(参数不匹配;匿名 CompletableObserver 不能 转换为 Action0)
方法 Completable.subscribe(CompletableSubscriber) 不适用
(参数不匹配;匿名 CompletableObserver 不能 转换为 CompletableSubscriber)
方法 Completable.subscribe(Subscriber) 不适用
(不能 推断类型变量 T
(参数不匹配;匿名 CompletableObserver 无法转换为订阅者 T ))
其中 T 是 类型变量:
T 扩展方法中声明的对象 T订阅(订阅者T)
感谢您的建议。
【问题讨论】:
-
尝试 subscribeWith 而不是仅仅订阅