kopia lustrzana https://github.com/c9/core
improve error handlidng of cached require
rodzic
67cdf24176
commit
dd9c07f5e9
|
@ -443,9 +443,15 @@ var loadCached = function(path, cb) {
|
|||
return loadText(path, cb);
|
||||
function loadNew() {
|
||||
loadText(path, function(e, val, xhr) {
|
||||
var m = cb(e, val);
|
||||
if (val) {
|
||||
try {
|
||||
var m = cb(e, val);
|
||||
} catch(err) {
|
||||
ideCache.delete(path);
|
||||
e = err;
|
||||
}
|
||||
if (!e) {
|
||||
var ETAG = xhr.getResponseHeader("ETAG");
|
||||
if (!ETAG) return;
|
||||
var res = new Response(val);
|
||||
res.headers.set("ETAG", ETAG);
|
||||
var req = new Request(path);
|
||||
|
@ -467,13 +473,16 @@ var loadCached = function(path, cb) {
|
|||
ideCache.match(path).then(function(e) {
|
||||
if (!e)
|
||||
return loadNew();
|
||||
e.text().then(function(val) {
|
||||
return e.text().then(function(val) {
|
||||
var deps = e.headers.get("deps");
|
||||
if (typeof deps == "string")
|
||||
deps = deps ? deps.split(",") : [];
|
||||
|
||||
cb(null, val, deps);
|
||||
});
|
||||
}).catch(function() {
|
||||
loadNew();
|
||||
ideCache.delete(path);
|
||||
});
|
||||
};
|
||||
|
||||
|
@ -532,9 +541,15 @@ function post(path, val, progress, cb) {
|
|||
var xhr = new window.XMLHttpRequest();
|
||||
xhr.open("POST", path, true);
|
||||
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
|
||||
xhr.onload = function(e) { cb(null, xhr.responseText, xhr); };
|
||||
xhr.onload = function(e) {
|
||||
if (xhr.status > 399 && xhr.status < 600)
|
||||
return cb(xhr);
|
||||
cb(null, xhr.responseText, xhr);
|
||||
};
|
||||
xhr.onreadystatechange = function(e) { progress(xhr.responseText, xhr); };
|
||||
xhr.onabort = xhr.onerror = function(e) { cb(e); };
|
||||
xhr.onabort = xhr.onerror = function(e) {
|
||||
xhr && cb(e);
|
||||
};
|
||||
xhr.send(val);
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue