keep track of which portal guids have a detail request in progress, to prevent sending additional requests while waiting for a response
This commit is contained in:
parent
ed62714734
commit
b9f9288567
@ -10,7 +10,7 @@
|
|||||||
(function(){
|
(function(){
|
||||||
|
|
||||||
var cache;
|
var cache;
|
||||||
|
var requestQueue = {};
|
||||||
|
|
||||||
window.portalDetail = function() {};
|
window.portalDetail = function() {};
|
||||||
|
|
||||||
@ -30,6 +30,7 @@ window.portalDetail.isFresh = function(guid) {
|
|||||||
|
|
||||||
|
|
||||||
var handleResponse = function(guid, data, success) {
|
var handleResponse = function(guid, data, success) {
|
||||||
|
delete requestQueue[guid];
|
||||||
|
|
||||||
if (success) {
|
if (success) {
|
||||||
cache.store(guid,data);
|
cache.store(guid,data);
|
||||||
@ -45,11 +46,15 @@ var handleResponse = function(guid, data, success) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
window.portalDetail.request = function(guid) {
|
window.portalDetail.request = function(guid) {
|
||||||
|
if (!requestQueue[guid]) {
|
||||||
|
requestQueue[guid] = true;
|
||||||
|
|
||||||
|
window.postAjax('getPortalDetails', {guid:guid},
|
||||||
|
function(data,textStatus,jqXHR) { handleResponse(guid, data, true); },
|
||||||
|
function() { handleResponse(guid, undefined, false); }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
window.postAjax('getPortalDetails', {guid:guid},
|
|
||||||
function(data,textStatus,jqXHR) { handleResponse(guid, data, true); },
|
|
||||||
function() { handleResponse(guid, undefined, false); }
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user