diff options
-rw-r--r-- | modules/luci-base/htdocs/luci-static/resources/luci.js | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/modules/luci-base/htdocs/luci-static/resources/luci.js b/modules/luci-base/htdocs/luci-static/resources/luci.js index af2b179ce3..1d349ebc17 100644 --- a/modules/luci-base/htdocs/luci-static/resources/luci.js +++ b/modules/luci-base/htdocs/luci-static/resources/luci.js @@ -399,17 +399,21 @@ }, handleReadyStateChange: function(resolveFn, rejectFn, ev) { - var xhr = this.xhr; + var xhr = this.xhr, + duration = Date.now() - this.start; if (xhr.readyState !== 4) return; if (xhr.status === 0 && xhr.statusText === '') { - rejectFn.call(this, new Error('XHR request aborted by browser')); + if (duration >= this.timeout) + rejectFn.call(this, new Error('XHR request timed out')); + else + rejectFn.call(this, new Error('XHR request aborted by browser')); } else { var response = new Response( - xhr, xhr.responseURL || this.url, Date.now() - this.start); + xhr, xhr.responseURL || this.url, duration); Promise.all(Request.interceptors.map(function(fn) { return fn(response) })) .then(resolveFn.bind(this, response)) |