Javascript 合并$http.get for循环中的JSON数据

Javascript 合并$http.get for循环中的JSON数据,javascript,json,angularjs,http-get,Javascript,Json,Angularjs,Http Get,我正在使用REST服务器检索数据。在AngularJS UI中,用户可以选择几个选项来创建要发送到REST服务器的查询。问题是服务器只接受每个实体中的一个,所以如果用户想要搜索多个实体,他们不能。我正在考虑一种发送多个请求的方法(请求的数量取决于实体数组的长度,该数组由用户在UI中设置)。到目前为止,我所能想到的就是按实体数组的长度进行for循环,并为每个循环发送一个请求-我的问题是如何将这两组数据连接起来?每次for循环完成时,数据都会被发送到的下一个集合覆盖。发送请求的次数完全取决于用户需要

我正在使用REST服务器检索数据。在AngularJS UI中,用户可以选择几个选项来创建要发送到REST服务器的查询。问题是服务器只接受每个实体中的一个,所以如果用户想要搜索多个实体,他们不能。我正在考虑一种发送多个请求的方法(请求的数量取决于实体数组的长度,该数组由用户在UI中设置)。到目前为止,我所能想到的就是按实体数组的长度进行for循环,并为每个循环发送一个请求-我的问题是如何将这两组数据连接起来?每次for循环完成时,数据都会被发送到的下一个集合覆盖。发送请求的次数完全取决于用户需要返回的实体数量。

如果每个结果项都有唯一标识符,则可以尝试以下算法。希望它能解决这个问题

var data = []; 
loop through options selected by user {
   request sent {
       on sucess() {
             loop though RESPONSE_DATA_ARRAY {
                 var id = RESPONSE_DATA_ARRAY_ITEM.uniuqe_key
                 if(data[id] === undefined){
                     data[id] = RESPONSE_DATA_ARRAY_ITEM; 
                     //Stored as Key Value pair, which will help to identify same object each time easily.
                 }
             }

       }
   }
}

你有最典型的问题。您可以使用Javascript闭包解析程序。据我所知,您正在尝试根据一些选项过滤一些数据。假设您总共有100条记录,并且只查找类型A、B、C记录。但服务器返回一个记录(10)项。然后在下一个请求中,服务器返回B类型(15)项。对于C(5)项。所以你想显示(10+15+5-公共元素)对吗?是的@ParthaSarathiGhosh,但请求发送的次数取决于用户选择的
实体的数量,可能是2个请求,可能是10个。谢谢@AitorAznarÁlvarez我会研究闭包。试试。谢谢,我会尝试实现这个并返回:D