Angular: Empty Fiddle
http://angularjs.org/
by apuchkov
HTML
<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<script src="https://rawgit.com/chrisronline/angular-promise-cache/master/angular-promise-cache.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<div ng-controller="myAwesomeCtrl">
<div id="log"></div>
</div>
JavaScript
var myApp = angular.module('myApp', ['angular-promise-cache']);
myApp
.factory('myAwesomeModel', function ($http, promiseCache) {
return {
getData: function (id) {
return promiseCache({
args: [id],
promise: function (id) {
$('#log').append('<p>Making HTTP call for id: ' + id + '</p>')
return $http.get('/echo/json/');
}
});
}
};
})
.controller('myAwesomeCtrl', function ($scope, myAwesomeModel) {
myAwesomeModel.getData(1);
myAwesomeModel.getData(1);
myAwesomeModel.getData(2); // I expect a second http call here
myAwesomeModel.getData(2);
});