小编aat*_*ana的帖子

Observable.retrywhen 中的异常类型

我是 rxJava 的新手,这可能是一个非常愚蠢的问题,但我无法弄清楚如何在重试时找到异常类型。我想重试特定异常(例如 Io 异常),但在其他异常中我想将异常传递到链中。

public Observable<List<String>> getData()
{
    return apiConsumer.getData()
            .retryWhen(new Func1<Observable<? extends Throwable>, Observable<?>>()
            {
                @Override
                public Observable<?> call(Observable<? extends Throwable> observable)
                {
                    // if(exception type == io exception)
                    return observable.delay(5, TimeUnit.SECONDS);
                    //else
                    //  dont retry, pass the exception to onError
                }
            });
}
Run Code Online (Sandbox Code Playgroud)

android rx-java rx-android

3
推荐指数
1
解决办法
1082
查看次数

标签 统计

android ×1

rx-android ×1

rx-java ×1