在for循环中合并$http.getJSON数据
Merge $http.get JSON data in for loop
我正在使用 REST 服务器检索数据。在 AngularJS UI 中,用户可以选择几个选项来创建要发送到 REST 服务器的查询。问题是服务器只接受其中一个,所以如果用户想要搜索多个实体,他们就不能。我正在想办法发送多个请求(请求的数量取决于实体数组的长度,该数组由用户在 UI 中设置)。到目前为止,我能想到的就是按实体数组的长度进行循环,并为每个循环发送一个请求——我的问题是如何加入这两组数据?每次 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.
}
}
}
}
}
我正在使用 REST 服务器检索数据。在 AngularJS UI 中,用户可以选择几个选项来创建要发送到 REST 服务器的查询。问题是服务器只接受其中一个,所以如果用户想要搜索多个实体,他们就不能。我正在想办法发送多个请求(请求的数量取决于实体数组的长度,该数组由用户在 UI 中设置)。到目前为止,我能想到的就是按实体数组的长度进行循环,并为每个循环发送一个请求——我的问题是如何加入这两组数据?每次 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.
}
}
}
}
}