In my application I wrote a pagination code that retrieves data from the server as the user scrolls down. In this case, I need to mantain the current page, whether a request is being processed, and whether the server has more data to serve. I didn't want to use globals, but still needed to mantain these 3 variables state.Here's my code:fetchNextNotificationPage = (function() {    var currentPage = 0;    var maxPageHit = false;    var fetching = false;    return function () {        // Prevent firing concurrent or pointless requests.        if (fetching || maxPageHit) return;        fetching = true;       $.getJSON(GetPageUrl, { page: currentPage + 1 }, function (data) {           if (!data.error) {               // Finished fetching, so now it is safe               // to say we are at previous page + 1.               currentPage += 1;               updateData(data.page);               if (data.lastPage) {                   maxPageHit = true;               }           }           else {               console.log(data.error);           }       }).always(function() {.           fetching = false;       });   };}());Is there a better way to solve this other than using closure?
Maintaining state in a pagination handler
javascript;pagination;closure