2016-10-05 102 views
1

我有这样的:OkHttp如何监听超时?

final OkHttpClient client = new OkHttpClient(); 

    Request request = new Request.Builder() 
      .url(someUrl) 
      .build(); 

    Response response = client.newCall(request).execute(); 

我已经看过https://github.com/square/okhttp/wiki/Recipes#timeouts

我尝试添加:

.connectTimeout(10, TimeUnit.SECONDS) 
    .writeTimeout(10, TimeUnit.SECONDS) 
    .readTimeout(30, TimeUnit.SECONDS) 

OkHttpClient建设者,但我没有,甚至当我发现任何区别将超时数设置为1秒。

是否有某种方法来监听超时?如果超过此超时值,我应该发生什么?

回答

1

如果请求超时,它会用一个IOException失败。当您拨打​​或阅读响应主体时,会发生这种情况。