背景
对 axios 请求全局做处理, 期望对请求返回异常的情况做统一封装处理。
思路
通过 axio 的 interceptors 做拦截处理,把各类异常情况包装成统一的结构输出。
另外提供包装器方法,不同的业务部分调用不用的包装器处理。
代码
axio 中 interceptors.response.use 的定义
interface AxiosInterceptorManager<V> {
use<T = V>(onFulfilled?: (value: V) => T | Promise<T>, onRejected?: (error: any) => any): number;
eject(id: number): void;
}
axios 拦截器实现
import axios from