Sentry reported a random error coming from Axios, `Error: timeout of 0ms exceeded`.

Under what circumstances would this error appear? We don't have timeout settings configured, and 0ms seems like a mighty short time for any request to finish, so why is this error thrown?

It appears to have been a one off that is not readily reproducible, so I can't provide test code, but the underlying network error seems to have been `ECONNABORTED`.

Axios version 0.18.0

lib/adapters/xhr.js
request.onabort = function handleAbort() {
      if (!request) {
        return;
      }
      reject(createError('Request aborted', config, 'ECONNABORTED', request));
      
      request = null;
    };
    
    request.onerror = function handleError() {
      
      
      reject(createError('Network Error', config, null, request));
      
      request = null;
    };
    
    request.ontimeout = function handleTimeout() {
      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';
      if (config.timeoutErrorMessage) {
        timeoutErrorMessage = config.timeoutErrorMessage;
      }
      reject(createError(
        timeoutErrorMessage,
        config,
        config.transitional && config.transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',
        request));
      
      request = null;
    };