, - .then, , .
:
var p = $http.get("http://jsonurl").then(function(result){
return result.filter(function(el){ return el.id === "foo"});
});
p.then(function(value){
});
, , , :
var data = null;
function getData(){
return $q.when(data || $http.get("http://jsonurl")).then(function(val){
return data = val;
});
}
getByPredicate :
function get(predicate){
return getData().then(function(arr){
return arr.filter(predicate);
});
}
:
get(function(el){ return el.id === "foo"; }).then(function(values){
});