vida recursión recursividad que programación programacion ejemplos cotidiana computación ciencias change javascript angularjs

javascript - recursividad - recursión ciencias de computación



Consulta recursiva angular de $ recursos (1)

Escribí un ejemplo jsfiddle para mostrar promesas recursivas. Al convertirlo en tu ejemplo, se vería algo así como:

function getList(resource, list, last) { return resource.query({last: last}).$promise.then(function(data){ list = list.concat(data.list); if (data.next) { return getList(resource, list, data.last); } return list; }); } getList(Items1, [], 0).$promise.then(function(list) { $scope.items1 = list; }); getList(Items2, [], 0).$promise.then(function(list) { $scope.items2 = list; });

Necesitará modificar sus recursos angulares para permitirle pasar el last parámetro en la llamada a la API. Supongo que la API, si se proporciona con ese parámetro, devolverá la siguiente sección a partir de ella.

Desde la API en la que estoy trabajando necesito tomar 2 listas diferentes y debo tomar partes de 20 elementos para evitar los tiempos de espera del servidor.

Lo que construí en realidad es esto:

Items1.query().$promise .then(function (data) { $scope.items1 = data.list; return Items2.query().$promise; }) .then(function (data) { $scope.items2 = data.list; });

Con este código estoy descargando la lista completa de objetos.

Tanto la consulta devuelve:

{ list: [...], next: true, limit: 20, last: 20 }

Básicamente es un sistema de paginación.

Ambos servicios son así:

App.factory(''Items1'', [''$resource'', function($resource) { return $resource(''items1/:item1Id'', { storeId: ''@id'' }, { query: { method: ''GET'', isArray: false }, update: { method: ''PUT'' } }); } ]);

Realmente no sé cómo hacer una función recursiva con $ resource para poder empujar esos elementos en partes de 20.