【问题标题】:How to throw an exception using RxJava without OnNext如何在没有 OnNext 的情况下使用 RxJava 引发异常
【发布时间】:2019-04-08 20:50:11
【问题描述】:

我试图在使用 RxJava 进行虚假下载期间强制抛出错误:

 disposable.add(fakeRepo.downloadSomething()
            .subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                { a: String -> finished() },
                { b: Throwable? -> showError() }
            ))


fun downloadSomething(): Single<String> {
        return Single.just("")
    }

我只使用 onNext 找到了解决方案,但我不想在我的代码中使用它。

我应该怎么做才能调用 showError() ? 目前我总是得到finished()

【问题讨论】:

  • 抛出异常?
  • 是的,抛出异常

标签: android kotlin rx-java


【解决方案1】:

只需使用Single.error:

http://reactivex.io/RxJava/javadoc/io/reactivex/Single.html#error-java.lang.Throwable-

public static 单一错误(可抛出异常) 当订阅者订阅它时,返回一个调用订阅者的 onError 方法的 Single。

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 2017-09-03
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多