代码之家  ›  专栏  ›  技术社区  ›  AndroidDev

CompletableObserver找不到合适的方法

  •  0
  • AndroidDev  · 技术社区  · 6 年前

    对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) {
    
            }
        });
    }
    

    看起来很简单,但是完整的观察者的身体不会编译。我得到这个错误:

    错误:找不到适合订阅的方法(匿名CompleteObserver)
    方法completable.subscribe(action0)不是 可应用的
    (参数不匹配;匿名CompletableObserver不能 转换为操作0)
    方法 completable.subscribe(completablesubscriber)不适用
    (参数不匹配;匿名CompletableObserver不能是 已转换为CompletableSubscriber)
    方法 completable.subscribe(订阅服务器)不适用
    (不能) 推断类型变量
    (参数不匹配;匿名 completableobserver无法转换为订阅服务器t)
    其中T是 类型变量:
    扩展方法中声明的对象 T订阅(订户T)

    谢谢你的建议。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Eugene Popovich    6 年前

    看起来您的项目中同时有rxjava1和rxjava2。一旦进入你使用的api Completable 从您试图使用的代码中的rxjava1 subscribe(CompletableObserver) 来自rxjava2的方法