angularjs - Chaining promises in Restangular for a paginated response -
i'm working rest api returns paginated response foll:
{count: 43103 previous: null next: http://ecoengine.berkeley.edu/api/photos/?format=json&page=2 results: [json objects....] } currently i'm using $http info , chaining promises using recursion. how same using restangular? here's code using $http:
.factory('holosdata', ['$q', '$http', function($q, $http ) { var aggregatedata = { isloaded: false, value: [] }; homecoming { loaddata: function(url) { var deferred = $q.defer(); //empyt array of previous results aggregatedata.value.length = 0; function loadall() { $http.get(url) .then(function(d) { aggregatedata.value = aggregatedata.value.concat(d.data.results); if(d.data.next) { url=d.data.next; loadall(); } else { deferred.resolve(aggregatedata.value); } }); } loadall(); homecoming deferred.promise; }, getdata: function() { homecoming aggregatedata.value; } }]) and here's i've tried far. can fetch first page, can't figure out how chain promises in restangular.
loaddata: function() { var deferred = $q.defer(); //empty array of previous results allphotos.length = 0; function loadall() { restangular.all('photos').getlist(queryparams).then(function(list) { allphotos = list; deferred.resolve(allphotos); }); } loadall(); homecoming deferred.promise; } thanks!
angularjs restangular
No comments:
Post a Comment