我试图使用switch语句将任何错误通知客户端
axios.interceptors.response.use(response => {
return response
}, (error: AxiosError) => {
const {data, status} = error.response!;
switch (status) {
case 400:
toast.error(data.title);
break;
case 401:
toast.error(data.title);
break;
case 500:
toast.error(data.title);
break;
default:
break;
}
return Promise.reject(error.response);
})但它抱怨“数据”变量,说“对象是”类型“未知”。在做了一些研究后,他们说我必须使用一个类型保护,但我不相信类型保护是可用的开关声明。是否有人知道如何将其重写为if语句,或者知道我能做些什么来修复这个问题?
发布于 2022-11-04 01:36:31
我也遇到了同样的问题并找到了解决办法。这是对我有用的。
const {data, status} = error.response!;工作代码:
const {data, status}:any = error.response!;https://stackoverflow.com/questions/73185017
复制相似问题