//请求拦截器、响应拦截器以及接口请求中的错误处理
//请求拦截器
(config=>{
return config //请求拦截器成功时返回值
},err=>{
return (err) //请求错误时通过该方法返回配置信息
})
//响应拦截器
(res=>{
return res //响应成功时return返回的数据
},err=>{
return (err) //响应错误时返回错误信息
})
//请求接口
('/').then((res)=>{
(res) //响应成功信息会到这里
}).catch(err=>{
(err) //无论请求错误或者响应错误最后的错误信息都会到这里
})
// 例子:实际开发过程中,一般添加统一错误处理、
let instance2 = ({}) //创建实例
//请求拦截器
(config=>{
return config
},err=>{
//请求错误时一般http状态码为两种以4开头,
// 401:超时、404:not found 没找到接口
$('#div').show() //显示错误提示
setTimeout(()=>{ //两秒后错误提示消失
$('#div').hide()
},2000)
return (err)
})
//响应拦截器
(res=>{
return res
},err=>{
//响应错误处理,http状态码以5开头
//500:系统错误,502:系统重启
$('#div').show() //显示错误提示
setTimeout(()=>{ //两秒后错误提示消失
$('#div').hide()
},2000)
return (err)
})
//请求拦截器和响应拦截器创建好后,就可以通过创建的实例请求接口如下:
//如果你想使用统一的错误处理弹窗,例如拦截器中的统一错误提示就可使用方法一
//如果你需要做单独处理,觉得这个统一弹窗不够,需要再加,就可使用方法二
//方法一:
('/').then(res=>{
(res) //处理返回信息
})
//方法二:
('/').then(res=>{
(res)
}).catch(err=>{
(err) //在这里可以再做一些错误处理的操作
})
//一般在实际开发中错误信息都是通过这种方式统一处理掉
//说明:先创建实例、创建请求拦截器和响应拦截器并在错误信息那里处理掉错误信息