【发布时间】:2018-05-13 09:12:27
【问题描述】:
当您收到有关此消息的错误时
rx.exceptions.OnErrorFailedException:尝试将错误传播到 Observer.onError 时发生错误
但您的订阅已经在处理 onError
MyMethodThatRetunsAnObservable(string)
.subscribe(
response -> handleResponse(response),
throwable -> handleError(throwable));
如果是由以下原因引起的:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
请注意,如果调度程序是真正异步的,onError 通知将在发射线程上的 onNext 通知之前切断。所以需要指定我们要观察的UI线程
public static void shortToast(String msg) {
Observable.just(msg)
.subscribeOn(AndroidSchedulers.mainThread())
.subscribe(message -> {
Toast.makeText(App.getInstance(), message, Toast.LENGTH_SHORT).show();
});
}
【问题讨论】:
-
问题在哪里?
-
这就是当您使用 rxjava/rxAndroid 收到该错误时该怎么做
标签: android rx-android