最近做分片上传, 发现分片上传的时候, 有时候传到一半或者是一半多的时候后台就报EOF什么的错. 我们组长孙老板调试了半天终于定位到了问题, 是前端发送axios请求的时候有一个超时时间大概是6000ms, 他会导致页面做一个无感知的刷新, 从而中断分片的发送. 所以后台在读取的时候读取不到就报错~
他还有一个影响的地方就是debug的时候, 后台如果卡着断点的话, 你请求有超时时间的话,那么6s之后你的请求就超时被cancel掉了. 所以使用axios的时候全局统一设置请求时间长一些~
export interface AxiosRequestConfig {
url?: string;
method?: Method;
baseURL?: string;
transformRequest?: AxiosTransformer | AxiosTransformer[];
transformResponse?: AxiosTransformer | AxiosTransformer[];
headers?: any;
params?: any;
paramsSerializer?: (params: any) => string;
data?: any;
timeout?: number;
withCredentials?: boolean;
adapter?: AxiosAdapter;
auth?: AxiosBasicCredentials;
responseType?: ResponseType;
xsrfCookieName?: string;
xsrfHeaderName?: string;
onUploadProgress?: (progressEvent: any) => void;
onDownloadProgress?: (progressEvent: any) => void;
maxContentLength?: number;
validateStatus?: (status: number) => boolean;
maxRedirects?: number;
socketPath?: string | null;
httpAgent?: any;
httpsAgent?: any;
proxy?: AxiosProxyConfig | false;
cancelToken?: CancelToken;
}