我必须用齐射进行两次调用。我的问题是我需要先完成第一次呼叫然后再进行第二次呼叫。这些调用是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
我是否必须在循环中进行第一次调用而在另一次调用中进行第二次调用?
答案 0 :(得分:2)
尝试在响应中执行服务调用,如果第一个也可能发生优先级,因为正在使用2个不同的请求队列。