【问题标题】:Handle timeout in OkHTTP在 OkHTTP 中处理超时
【发布时间】:2017-03-02 08:00:07
【问题描述】:

如何在 OkHTTP 中捕获超时?是在 onFailure 方法中“调用”的吗?

我想处理互联网连接不良的情况。如果超时,我必须启用一些按钮以允许用户重试。

// Get a handler that can be used to post to the main thread
    client.newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            hideDialog();
            e.printStackTrace();

            // handle timeouts here, enable buttons...
        }

【问题讨论】:

    标签: android okhttp


    【解决方案1】:

    您可以增加连接超时和响应您的请求。使用以下代码,

    client.setConnectTimeout(15, TimeUnit.SECONDS); // connect timeout
    client.setReadTimeout(15, TimeUnit.SECONDS);    // socket timeout
    

    【讨论】:

    • 可以增加超时时间,将15改为no。您想要的秒数,您也可以像上面一样 setWriteTimeout()。
    • 这不是解决方案。问题是关于如何catch OkHttp 抛出的异常。这是没有实现的。
    猜你喜欢
    • 1970-01-01
    • 2015-06-09
    • 2016-06-30
    • 2021-10-05
    • 2021-08-26
    • 2015-08-26
    • 2014-03-01
    • 1970-01-01
    • 2016-08-18
    相关资源
    最近更新 更多