关于volley请求失败会重新请求问题

  Volley中没有指定的方法来设置请求超时时间,可以设置RetryPolicy 来变通实现。DefaultRetryPolicy类有个initialTimeout参数,可以设置超时时间。要确保最大重试次数为0,以保证超时后不重新请求。



为确保请求失败后不重新请求问题,我们可以针对volley这样设置:


req.setRetryPolicy(new DefaultRetryPolicy(Constants.CUD_SOCKET_TIMEOUT,
Constants.MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));


JsonObjectRequest req = new JsonObjectRequest(Method.GET,
JSONDataUrl, 
null, 
new Response.Listener<JSONObject>() {  
@Override  
public void onResponse(JSONObject response) {  

}  
},   
new Response.ErrorListener() {  
@Override  
public void onErrorResponse(VolleyError arg0) {  

}  
});


//重试不请求
req.setRetryPolicy(new DefaultRetryPolicy(Constants.CUD_SOCKET_TIMEOUT,
Constants.MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));




//增、删、改等操作超时时间
public static final int CUD_SOCKET_TIMEOUT = 10000;

//查询超时时间
public static final int R_SOCKET_TIMEOUT = 5000;


//最大重试请求次数
public static final int MAX_RETRIES = 0;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值