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);
    });