(function(){ "use strict"; angular.module('raz') .provider('ResourceList', function ResourceListProvider() { var provider = this; provider.resources = null; provider.$get = ['$http','$q', ResourceListProvider]; provider.setResources = function(data) { if (data != undefined && data.length > 0) { provider.resources = data; } }; function ResourceListProvider($http, $q){ function getResources(config) { if (provider.resources == null) { console.log('making api call'); var url = "/api/resourcelist"; return $http.post(url, config); } var deferred = $q.defer(); deferred.resolve({data: provider.resources}); return deferred.promise; } return { getResources: getResources } } }); })();