昨晚對項目程式進行重構,發現一些數據冗餘非常嚴重,一些貨幣,單位等靜態數據N個頁面均有從資料庫獲取。 因此,Insus.NET想到了,把它們寫成一個通用的方法。在頁面中,直接去執行此通用的方法即可。 代碼示例大約如下: 公共函數: function httpRequestEvent(type, ur ...
昨晚對項目程式進行重構,發現一些數據冗餘非常嚴重,一些貨幣,單位等靜態數據N個頁面均有從資料庫獲取。
因此,Insus.NET想到了,把它們寫成一個通用的方法。在頁面中,直接去執行此通用的方法即可。
代碼示例大約如下:
公共函數:
function httpRequestEvent(type, url, args) { var d = $q.defer(); //聲明延後執行,表示要去監控後面的執行。 $http({ method: type, url: url, dataType: 'json', headers: { 'Content-Type': 'application/json; charset=utf-8' }, data: JSON.stringify(args) }) .then( function successCallback(response) { d.resolve(response.data); //執行成功,即http請求數據成功,可以返回數據了。 }, function errorCallback(response) { d.reject(response); //執行失敗,即伺服器返回錯誤。 }); return d.promise; //返回承諾,這裡並不是最終數據,而是訪問最終數據的API。 }Source Code
獨立引用公共函數:
factory.currs = function () { var deferred = $q.defer(); var args = {}; httpRequestEvent('POST', '/Code/Currencies', args).then(function (data) { deferred.resolve(data); }); return deferred.promise; };Source Code
在所有頁獲取貨幣的,全部改為: