Skip to content

TokenAdvancedFragment 中的 retryWhen 问题 #2

Open
@amosbake

Description

@amosbake

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);
                                        }
                                )
                )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions