var TUI = {};
(function() {
var cacheData = {
};
TUI.onceAjax = function(args){
console.log(new Date())
var oStat = cacheData[args.id];
if (!oStat) {
cacheData[args.id] = oStat = {
bLoading : false,
bLoaded : false,
data : null,
queue:[]
}
}
var _callback = function(data){
oStat.bLoaded = true;
oStat.data = data;
for(var i=0,len = oStat.queue.length;i<len; i++){
oStat.queue[i](data);
}
};
if (oStat.bLoaded) {
args.success(oStat.data);
} else {
if(typeof args.success === "function"){
oStat.queue.push(args.success);
}
if (!oStat.bLoading) {
oStat.bLoading = true;
jQuery.getScript(args.url + "&var=TestJson",function(){
_callback(window["TestJson"]);
});
}
}
};
})();
//example:
TUI.onceAjax({
id:'test2',
url: "xxxxxx",
success : function(rs){
console.log( rs);
}
});