android - 无法在 java observable 上设置超时值不工作

标签 android timeout observable subscribe

我正在使用 Android studio 2.3.3 开发应用程序。

我正在使用 Observable 进行 rest api 调用。 它在大约 10 秒后超时,而我的服务器需要 20 秒来处理和响应。

我尝试按照下面的代码 fragment 设置超时值。但它仍然在 10 秒左右超时。

goalService.saveGoal(appState.getUserId(), goal)
                    .timeout(30, TimeUnit.SECONDS)
                    .subscribeOn(Schedulers.newThread())
                    .timeout(30, TimeUnit.SECONDS)
                    .observeOn(AndroidSchedulers.mainThread())
                    .timeout(30, TimeUnit.SECONDS)
                    .subscribe(new Subscriber<Goal>() {
                        @Override
                        public void onCompleted() {

                        }

                        @Override
                        public void onError(Throwable e) {
                            inProgress = false;
                            e.printStackTrace();
                            if (isViewAttached()) {
                                getView().hideLoader();
                                handleError(e);
                            }
                        }

                        @Override
                        public void onNext(Goal goal) {
                         } 

它使用 java.net.SocketTimeoutException: timeout 命中了 onError 方法

如何找出超时的确切原因? 我如何为这种情况设置超时值?

最佳答案

使用定时任务:

TimerTask doAsynchronousTask = new TimerTask() {
                    @Override
                    public void run() {
                        ...
                    }
                };
                new Timer().schedule(doAsynchronousTask, (your needed seconds * 1000));

关于android - 无法在 java observable 上设置超时值不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48802084/

相关文章:

android - 我怎样才能停止动画

android - Crashlytics 自定义日志何时发送?

android - 从互联网android获取数据

python - 如何使用 python 2.7.6 使 subprocess.call 超时?

c# SerialPort WriteTimeout 使用?

ios - ObservableObject 不更新 View

android - 登录或注册微信

ruby-on-rails - 如何在解决超时 session 后重新提交带有 POST 请求的表单?

angular - 如何检查 Observable 数组的长度

firebase - 减少 firebase firestore 集合中的阅读文档