(function() { "use strict"; angular.module('shared') .service('bookTipInfoService', ['$http', '$q', function bookTipInfoService($http, $q) { var self = this; var bookTipCache = {}; self.fetchBookTipInfo = function (site, dataQueryString) { if (bookTipCache[dataQueryString]) { return $q(function (resolve, reject) { var cachedResponse = bookTipCache[dataQueryString]; resolve(cachedResponse); }); } else { return $http({ method: 'GET', url: '/api/resource-popout/' + site + '?' + dataQueryString }).then(function (response) { bookTipCache[dataQueryString] = response; return response; }); } }; }]); }());