Как вызвать исключение, используя RxJava без OnNext - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь принудительно выдать ошибку во время фальшивой загрузки с использованием 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()

1 Ответ

1 голос
/ 09 апреля 2019

Просто используйте Single.error:

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

публичная статическая одиночная ошибка (исключение Throwable) Возвращает Single, который вызывает метод onError подписчика, когда подписчик подписывается на него.

...