当我向我的api api请求返回204 - No Content时。但凌空无法识别并给出TimeOutError。
我该如何处理?
答案 0 :(得分:1)
设置新的截击请求时:
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
// act upon a valid response
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Handle error
}
});
请注意,您传递了Response.ErrorListener
。当发生错误时,例如204,使用onErrorResponse(VolleyError)
实例调用VolleyError
回调 - 错误,并提供有关传递给它的错误的适当信息。
因此,在此回调中,您应检查错误并采取适当的措施。
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if(error instanceof TimeoutError){
// Take action when timeout happens
}
}
}
注意:发生超时时,VolleyError
实例实际上是TimeoutError
VolleyError
的子类的实例。因此,我们使用instanceof
VolleyError子类列表可在此处获取:http://afzaln.com/volley/com/android/volley/VolleyError.html
给出的示例适用于StringRequest
类型,但其他VolleyObjectRequest
类型的技术相同。