diff --git a/lib/adapters/xhr.js b/lib/adapters/xhr.js index 5432cce..28456e6 100644 --- a/lib/adapters/xhr.js +++ b/lib/adapters/xhr.js @@ -76,6 +76,17 @@ module.exports = function xhrAdapter(resolve, reject, config) { request = null; }; + // Handle timeout + request.ontimeout = function handleTimeout() { + var err = new Error('timeout of ' + config.timeout + 'ms exceeded'); + err.timeout = config.timeout; + err.code = 'ECONNABORTED'; + reject(err); + + // Clean up request + request = null; + }; + // Add xsrf header // This is only done if running in a standard browser environment. // Specifically not if we're in a web worker, or react-native.