From 1e04f29485583cd1b85276b2fbfeb47f51473e30 Mon Sep 17 00:00:00 2001 From: James Campos Date: Sun, 5 Oct 2014 15:51:22 -0700 Subject: [PATCH] extract caching --- js/inline.js | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/js/inline.js b/js/inline.js index 9232fa63..bcbf156f 100644 --- a/js/inline.js +++ b/js/inline.js @@ -1,5 +1,18 @@ ;(function() { - var cache = {} + var App = { + cache: {}, + get: function(url, cb) { + var $page = App.cache[url] + if ($page) + return cb($page) + + $.get(url, function(data) { + var $page = $(data) + App.cache[url] = $page + cb($page) + }) + } + } var inline = function(e) { e.preventDefault() @@ -40,16 +53,8 @@ return add(link, $target) } - var url = this.pathname - var data = cache[url] - if (data) { - var $target = $(data).find(selector) - return add(link, $target) - } - - $.get(url, function(data) { - cache[url] = data - var $target = $(data).find(selector) + App.get(this.pathname, function($page) { + var $target = $page.find(selector) add(link, $target) }) }