From 1f533b9eeb6e6b017425c937ac11d77cc4b391c3 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 20 Jun 2014 04:08:22 -0400 Subject: [PATCH] refactor(dom) checkStorageHash --- lib/client/dom.js | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/lib/client/dom.js b/lib/client/dom.js index 6cca14f9..f40b1267 100644 --- a/lib/client/dom.js +++ b/lib/client/dom.js @@ -702,11 +702,13 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog; */ this.loadCurrentHash = function(callback, currentFile) { var RESTful = DOM.RESTful, - current = currentFile || this.getCurrentFile(), + current = currentFile || DOM.getCurrentFile(), query = '?hash', - link = this.getCurrentPath(current); + link = DOM.getCurrentPath(current); - RESTful.read(link + query, callback); + RESTful.read(link + query, function(data) { + callback(null, data); + }); }; /** @@ -1185,21 +1187,24 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog; * check storage hash */ this.checkStorageHash = function(name, callback) { - DOM.loadCurrentHash(function(loadHash) { - var Storage = DOM.Storage, - nameHash = name + '-hash'; + var Storage = DOM.Storage, + parallel = Util.exec.parallel, + loadHash = DOM.loadCurrentHash, + nameHash = name + '-hash', + getStoreHash = Util.exec.with(Storage.get, nameHash); + + Util.checkArgs(arguments, ['name', 'callback']); + + parallel([loadHash, getStoreHash], function(error, loadHash, storeHash) { + var equal, + isContain = Util.isContainStr(loadHash, 'error'); - Storage.get(nameHash, function(error, storeHash) { - var equal, - isContain = Util.isContainStr(loadHash, 'error'); - - if (isContain) - error = loadHash; - else if (loadHash === storeHash) - equal = true; - - Util.exec(callback, error, equal, loadHash); - }); + if (isContain) + error = loadHash; + else if (loadHash === storeHash) + equal = true; + + callback(error, equal, loadHash); }); }; @@ -1228,7 +1233,7 @@ var CloudCmd, Util, DOM, CloudFunc, Dialog; Util.exec(callback, hash); }, function(callback) { - DOM.loadCurrentHash(function(loadHash) { + DOM.loadCurrentHash(function(error, loadHash) { hash = loadHash; callback(); });