Dont let deadlinks get stuck if problems loading

This commit is contained in:
Jordan Bates 2013-05-20 16:28:02 -07:00
parent 4e973cf9c8
commit 902c08f807
4 changed files with 70 additions and 52 deletions

View File

@ -471,7 +471,7 @@
reqs = {}; reqs = {};
return function(url, cb) { return function(url, cb) {
var req, rm; var err, req, rm;
if (req = reqs[url]) { if (req = reqs[url]) {
if (req.readyState === 4) { if (req.readyState === 4) {
@ -484,21 +484,26 @@
rm = function() { rm = function() {
return delete reqs[url]; return delete reqs[url];
}; };
req = $.ajax(url, { try {
onload: function(e) { req = $.ajax(url, {
var _i, _len, _ref; onload: function(e) {
var _i, _len, _ref;
_ref = this.callbacks; _ref = this.callbacks;
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref.length; _i < _len; _i++) {
cb = _ref[_i]; cb = _ref[_i];
cb.call(this, e); cb.call(this, e);
} }
this.evt = e; this.evt = e;
return delete this.callbacks; return delete this.callbacks;
}, },
onabort: rm, onabort: rm,
onerror: rm onerror: rm
}); });
} catch (_error) {
err = _error;
return;
}
req.callbacks = [cb]; req.callbacks = [cb];
return reqs[url] = req; return reqs[url] = req;
}; };

View File

@ -468,7 +468,7 @@
reqs = {}; reqs = {};
return function(url, cb) { return function(url, cb) {
var req, rm; var err, req, rm;
if (req = reqs[url]) { if (req = reqs[url]) {
if (req.readyState === 4) { if (req.readyState === 4) {
@ -481,21 +481,26 @@
rm = function() { rm = function() {
return delete reqs[url]; return delete reqs[url];
}; };
req = $.ajax(url, { try {
onload: function(e) { req = $.ajax(url, {
var _i, _len, _ref; onload: function(e) {
var _i, _len, _ref;
_ref = this.callbacks; _ref = this.callbacks;
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref.length; _i < _len; _i++) {
cb = _ref[_i]; cb = _ref[_i];
cb.call(this, e); cb.call(this, e);
} }
this.evt = e; this.evt = e;
return delete this.callbacks; return delete this.callbacks;
}, },
onabort: rm, onabort: rm,
onerror: rm onerror: rm
}); });
} catch (_error) {
err = _error;
return;
}
req.callbacks = [cb]; req.callbacks = [cb];
return reqs[url] = req; return reqs[url] = req;
}; };

View File

@ -449,7 +449,7 @@
reqs = {}; reqs = {};
return function(url, cb) { return function(url, cb) {
var req, rm; var err, req, rm;
if (req = reqs[url]) { if (req = reqs[url]) {
if (req.readyState === 4) { if (req.readyState === 4) {
@ -462,21 +462,26 @@
rm = function() { rm = function() {
return delete reqs[url]; return delete reqs[url];
}; };
req = $.ajax(url, { try {
onload: function(e) { req = $.ajax(url, {
var _i, _len, _ref; onload: function(e) {
var _i, _len, _ref;
_ref = this.callbacks; _ref = this.callbacks;
for (_i = 0, _len = _ref.length; _i < _len; _i++) { for (_i = 0, _len = _ref.length; _i < _len; _i++) {
cb = _ref[_i]; cb = _ref[_i];
cb.call(this, e); cb.call(this, e);
} }
this.evt = e; this.evt = e;
return delete this.callbacks; return delete this.callbacks;
}, },
onabort: rm, onabort: rm,
onerror: rm onerror: rm
}); });
} catch (_error) {
err = _error;
return;
}
req.callbacks = [cb]; req.callbacks = [cb];
return reqs[url] = req; return reqs[url] = req;
}; };

View File

@ -102,13 +102,16 @@ $.cache = do ->
req.callbacks.push cb req.callbacks.push cb
return return
rm = -> delete reqs[url] rm = -> delete reqs[url]
req = $.ajax url, try
onload: (e) -> req = $.ajax url,
cb.call @, e for cb in @callbacks onload: (e) ->
@evt = e cb.call @, e for cb in @callbacks
delete @callbacks @evt = e
onabort: rm delete @callbacks
onerror: rm onabort: rm
onerror: rm
catch err
return
req.callbacks = [cb] req.callbacks = [cb]
reqs[url] = req reqs[url] = req