嗨,即使请求已成功发送到服务器,网络速度太快,我也会收到请求的错误响应?有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
将值设置为响应时间,如
stringRequest.setRetryPolicy(new RetryPolicy() {
@Override
public int getCurrentTimeout() {
// Here goes the new timeout 3 minutes
return 3*60*1000;
}
@Override
public int getCurrentRetryCount() {
// The max number of attempts
return 5;
}
@Override
public void retry(VolleyError error) throws VolleyError {
}
});
你应该在两行之前使用上面的时间
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
答案 1 :(得分:0)
如果网络速度慢,会产生误导性结果,Volley会对同一个API进行多次调用。要避免这种情况,请在向排球队列添加请求之前添加setRetryPolicy标志。
JsonObjectRequest jsonObjReq = new JsonObjectRequest(………….);
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(0,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT.BACKOFF_MULT));
SingletonClass.getInstance.addToRequestQueue(jsonObjReq);
答案 2 :(得分:0)
试试这段代码,它让api等待一些api响应 特定时间段(由您提供)
// time provided to wait for api response
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(
10000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
// Adding request to request queue
AppController.getInstance().addToRequestQueue(jsonObjReq, cancel_change_api);
}