#### Is your feature request related to a problem? Please describe.
This is an optimazition of code.

#### Describe the solution you'd like
The following line of code comes from https://github.com/axios/axios/blob/master/lib/adapters/http.js#L403:
```js
reject(!cancel || (cancel && cancel.type) ? new CanceledError() : cancel);
```
It can be optimized as follows:
```js
reject(!cancel || cancel.type ? new CanceledError() : cancel);
```

#### Describe alternatives you've considered
When the code is executed to `(cancel && cancel.type)`, it means `!cancel` is false, so `cancel` is true, we can get `cancel.type` directly.

#### Additional context
no more

lib/adapters/xhr.js
'use strict';
var utils = require('./../utils');
var settle = require('./../core/settle');
var cookies = require('./../helpers/cookies');
var buildURL = require('./../helpers/buildURL');
var buildFullPath = require('../core/buildFullPath');
var parseHeaders = require('./../helpers/parseHeaders');
var isURLSameOrigin = require('./../helpers/isURLSameOrigin');
var transitionalDefaults = require('../defaults/transitional');
var AxiosError = require('../core/AxiosError');
var CanceledError = require('../cancel/CanceledError');
var parseProtocol = require('../helpers/parseProtocol');
module.exports = function xhrAdapter(config) {
  return new Promise(function dispatchXhrRequest(resolve, reject) {
    var requestData = config.data;
    var requestHeaders = config.headers;
    var responseType = config.responseType;
    var onCanceled;
    function done() {