这一小节,主要是把异常的处理加上
处理错误
网络错误
就在你发送 Ajax 请求的地方,new 出来的 XMLHttpRequest 有一个 onerror
的方法,把你的方法挂上去就可以了。
request.onerror = function handleError() {
reject(new Error('Network Error'));
}
超时错误
同样的,在new 出来的 XMLHttpRequest 有一个 ontimeout
的方法,把你的方法挂上去就可以了。
if(timeout) request.timeout = timeout; // timeout 是可选的
request.ontimeout = function handleTimeout() {
reject(new Error(`Timeout of ${timeout} ms exceeded`));
}
其他错误
response.status 在 [200,300) 之间,就表明请求成功,否则就表示错误。以下这个函数是放在 onreadystatechange
函数的最后来进行处理。
function handleResponse(response: AxiosResponse) : void{
if(response.status