异步响应后发送休息请求volley

时间:2015-06-11 07:39:30

标签: android rest request android-volley

我搜索了这个主题,但我没有发现一些可以解决我怀疑的问题。我的问题是我必须使用rest api在服务器中填写一些表单字段和数据。

基本上我抛出3个不同的独立请求,因为它们是独立的,我用异步函数抛出它们。即:

        JsonArrayRequest req = new JsonArrayRequest(URL, new Response.Listener<JSONArray> () {

        @Override
        public void onResponse(JSONArray response) {
            try{
                //My code to compound a list from JSON response
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.i("INFO:", "error consultando api");
            error.printStackTrace();


        }
    });

我不知道如何实现以下目标。我需要发送另一个请求,该请求取决于前一个请求收集的信息。是否有一种优雅的方法可以检测到之前的3个请求已经完成,并且在启动我的上一个请求之后?

我试图在每个请求回调中放置一个布尔标志,并使用for循环阻止我的应用程序,直到所有标志都为真,但我认为这是一个错误的代码。

非常感谢

1 个答案:

答案 0 :(得分:2)

listener放入counting the responses的请求中(它是onResponse或onErrorResponse)。如果计数为reached to 3,则为send 4th request