RxJavaSamples icon indicating copy to clipboard operation
RxJavaSamples copied to clipboard

TokenAdvancedFragment 中的 retryWhen 问题

Open amosbake opened this issue 9 years ago • 0 comments

upload()方法中,为什么要用Observable.just+flatmap才能成功地获取到token呢 如我写的两段用和不用的代码,结果只有使用以上组合的才能成功,直接请求的就会不断打印error.这是为什么呢,求教

   Observable.just(session)
                .flatMap(s1 -> DataManager.getInstance().login(s1))
                .retryWhen(observable ->
                                observable.flatMap(throwable -> {
                                            System.out.println("error");
                                            if (throwable instanceof IllegalAccessException) {
                                                return DataManager.getInstance().getSession().doOnNext(s -> {
                                                    session.setSession(s);
                                                });
                                            }
                                            return Observable.just(throwable);
                                        }
                                )
                )

............................

  DataManager.getInstance().login(session)
                .retryWhen(observable ->
                                observable.flatMap(throwable -> {
                                            System.out.println("error");
                                            if (throwable instanceof IllegalAccessException) {
                                                return DataManager.getInstance().getSession().doOnNext(s -> {
                                                    System.out.println("session error");
                                                    session.setSession(s);
                                                });
                                            }
                                            return Observable.just(throwable);
                                        }
                                )
                )

amosbake avatar Mar 25 '16 10:03 amosbake