У меня есть служба в моем угловом приложении, которое собирает файл JSON с данными футбольной команды.Несколько файлов JSON в одном сервисе (AngularJS)
angular.module('UsersApp').factory('SquadService', ['$http', function($http) {
return $http.get('squad/squad-bournemouth.json')
.success(function(data) {
return data;
})
.error(function(err) {
return err;
});
}]);
Можно ли получить ту же услугу (SquadService), чтобы вернуть данные из нескольких файлов в формате JSON?
Возможно ли это?
Если да, то как бы вы сделали несколько функций
$http.get
в том же сервисе? Если нет, будет ли это просто иметь отдельную услугу для каждого массива отрядов и вызвать их все индивидуально в контроллере, например ...?bournemouthService.success(function(data) { $scope.bournemouthSquad = data; }); arsenalService.success(function(data) { $scope.arsenalSquad = data; }); chelseaService.success(function(data) { $scope.chelseaSquad = data; }); // and so on...
Это кажется, что это идет вразрез с DRY принцип кода, так что хотел бы знать, если есть лучший способ сделать это?
Заранее спасибо
Я рекомендую использовать угловую службу $ ресурса: https: // docs.angularjs.org/api/ngResource/service/$resource –
Посмотрите на это: http://stackoverflow.com/questions/21024411/angular-q-how-to-chain-multiple-promises-within- and-after-a-for-loop –
Гэвин Палмер - спасибо за то, что у него на $ resource. Моя проблема заключается в том, что я видел, что он втягивал определенные ** объекты ** в ** массив ** (помечен как id), в моем случае я хочу вытащить определенные ** массивы ** из массивов. Я попробовал это, обертывая каждый под-массив в объект, чтобы я мог дать им идентификатор. Это не сработало ... – Paulos3000