排球优先级不能正常工作

时间:2016-03-01 01:14:16

标签: android android-volley priority-queue

我必须用齐射进行两次调用。我的问题是我需要先完成第一次呼叫然后再进行第二次呼叫。这些调用是for循环的。所以我在第一个电话subscript和第二个电话Priority.IMMEDIATE上进行了通话。但有时第二次通话是在第一次通话之前完成的,我没有第一次通话所需的数据。我错过了什么?

Priority.LOW

for (int i = 0; i < SiteData.getSites().size(); i++) { firstCall(); secondCall(); } 方法

firstCall

private void firstCall(){ JsonObjectRequest siteDataRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { // do something with json } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d(membership_id_tag, error.getMessage()); } }) { @Override public Priority getPriority() { return Priority.IMMEDIATE; } }; AppController.getInstance().addToRequestQueue(siteDataRequest, membership_id_tag); } 方法

secondCall

我是否必须在循环中进行第一次调用而在另一次调用中进行第二次调用?

1 个答案:

答案 0 :(得分:2)

尝试在响应中执行服务调用,如果第一个也可能发生优先级,因为正在使用2个不同的请求队列。