我遇到的问题是没有正确捕获XHR错误。我正在使用Offline.js库进行一些检查。
库正在执行的代码是:
Offline.checks.xhr = function() {
var e, xhr;
xhr = new XMLHttpRequest;
xhr.offline = false;
xhr.open(Offline.getOption('checks.xhr.type'), Offline.getOption('checks.xhr.url'), true);
if (xhr.timeout != null) {
xhr.timeout = Offline.getOption('checks.xhr.timeout');
}
checkXHR(xhr, Offline.markUp, Offline.markDown);
try {
xhr.send();
} catch (_error) {
e = _error;
Offline.markDown();
}
return xhr;
};
我怀疑这个捕获并没有真正抓住一切。然后发生的是其他一些请求/承诺被中止。这会在我的应用程序中引起其他副作用。
有没有人有类似的东西?这样做是否正确?