'use strict';var bind = require('./helpers/bind');var isBuffer = require('is-buffer');/*global toString:true*/
//utils is a library of generic helper functions non-specific to axios
var toString =Object.prototype.toString;/**
* Determine if a value is an Array
*
* @param {Object} val The value to test
* @returns {boolean} True if value is an Array, otherwise false*/
//判断一个值是否是一个数组
functionisArray(val) {return toString.call(val) === '[object Array]';
}/**
* Determine if a value is an ArrayBuffer
*
* @param {Object} val The value to test
* @returns {boolean} True if value is an ArrayBuffer, otherwise false*/
//判断一个值是否是一个ArrayBuffer对象
functionisArrayBuffer(val) {return toString.call(val) === '[object ArrayBuffer]';
}/**
* Determine if a value is a FormData
*
* @param {Object} val The value to test
* @returns {boolean} True if value is an FormData, otherwise false*/
//判断一个值是否是FormData对象
functionisFormData(val) {return (typeof FormData !== 'undefined') && (val instanceofFormData);
}/**
* Determine if a value is a view on an ArrayBuffer
*
* @param {Object} val The value to test
* @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false*/
//判断一个值是否是一个ArrayBuffer的视图
functionisArrayBufferView(val) {varresult;if ((typeof ArrayBuffer !== 'undefined') &&(ArrayBuffer.isView)) {
result=ArrayBuffer.isView(val);
}else{
result= (val) && (val.buffer) && (val.buffer instanceofArrayBuffer);
}returnresult;
}/**
* Determine if a value is a String
*
* @param {Object} val The value to test
* @returns {boolean} True if value is a String, otherwise false*/
//判断一个值是否是字符串
functionisString(val) {return typeof val === 'string';
}/**
* Determine if a value is a Number
*
* @param {Object} val The value to test
* @returns {boolean} True if value is a Number, otherwise false*/
//判断一个值是否是一个数字
f