改造2.5.0在第三次后未执行请求

时间:2019-01-03 16:37:10

标签: android rx-java retrofit2

我有以下代码

@Singleton
class LoginHandler {
    private Observable<Response<User>> loginObservable;

    private void attemptLogin(LoginRequest loginRequest) {
        LoginSubscriber loginSubscriber = new LoginSubscriber();

        loginObservable = api.login(loginRequest);
        loginObservable
           .observeOn(AndroidSchedulers.mainThread())
           .subscribe(loginSubscriber);
    }
}

使用

@POST(PATH_AUTH)
Observable<Response<User>> login(@Body LoginRequest loginRequest);

每次用户想要从深层链接登录时,此命令就会执行。

我可以登录和注销两次,但是在第三次,请求就没有执行。我还使用Charles Proxy工具检查了请求是否已实际发送,但是没有看到任何内容。 记录loginObservable对象将显示每个api.login()调用都返回一个不同的Observable对象,该对象对于要执行的预订是正确的。还执行doOnSubscribe(() -> ...)处的记录,只是不执行请求本身。 我浏览了SO,发现的唯一解决方案是添加一个timeout(...),以便一旦发生超时,用户就可以返回登录掩码。但是,当尝试重新登录时,问题仍然存在。

所以我的问题是,我该如何调试并找出问题,在翻新过程中发生了什么?为什么在第三次尝试后请求仍未执行?

非常感谢您

0 个答案:

没有答案