簡體   English   中英

截擊請求重試無法按預期方式工作

[英]Volley Request Retry not working as expected

我已經關注了VolleyRequest但是在出現錯誤(例如,請求時突然沒有網絡)時,重試不會重試該請求。

Response.ErrorListener errorListener = new Response.ErrorListener() {
    @Override
    public void onErrorResponse(VolleyError error) {
    }
};

Request myReq = new Request(Request.Method.POST, url, errorListener) {
    @Override
    protected Response parseNetworkResponse(NetworkResponse response) {}

    @Override
    protected void deliverResponse(Object response) {}

    @Override
    public Map<String, String> getParams() throws AuthFailureError {
        return null;
    }

};

myReq.setRetryPolicy(new DefaultRetryPolicy(Constants.DEFAULT_CONNECTION_TIMEOUT,
                    10,
                    DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

queue.add(myReq);

我有什么想念的嗎?

 public static <T> void request(Context context, final VolleyCallback<T> requestCallback, int requestMethod, String requestUrl, Object postObject, Class<T> classType, boolean isAuthenticated, String tag) {
    GsonRequest<T> request = new GsonRequest<>(
            context,
            requestMethod,
            requestUrl,
            new Gson().toJson(postObject),
            classType,
            isAuthenticated,
            new Response.Listener<T>() {
                @Override
                public void onResponse(T response) {
                    onResponseListener(response, requestCallback);
                }
            },
            onErrorListener(context, requestCallback)
    );
    request.setTag(tag);
    VolleyRequestQueue.getInstance(context).addToRequestQueue(request);
}    

public <T> void addToRequestQueue(Request<T> request) {
    request.setRetryPolicy(new DefaultRetryPolicy(PrjConfig.REQUEST_TIMEOUT_MILLIS, PrjConfig.REQUEST_RETRIES, PrjConfig.REQUEST_TIMEOUT_MULTIPLIER));
    request.setShouldCache(false);
    getRequestQueue().add(request);
}    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM