import axios, {AxiosResponse, AxiosRequestConfig} from 'axios'
import {message} from 'antd'
axios.create({
baseURL: '',
})
axios.interceptors.request.use((config: AxiosRequestConfig) => {
return config;
}, (error) => {
return Promise.reject(error);
});
axios.interceptors.response.use((response: AxiosResponse) => {
return response.data
}, (error) => {
return Promise.reject(error);
});
export default axios
我有封装的axios,假如后端返回类型也就是response返回的response.data如下
{
code:1000,
message:'成功',
data:xxxx
}
该如何全局定义一个interface 让我可以像如下使用
fetch.get(`xxxx`).then((res:ReponseData)=>{
// do something...
})
看过说是可以全局这样定义
declare namespace Ajax {
// 请求接口数据
export interface AjaxResponse {
code: number,
data: any,
message: string | null;
}
}
// 如下使用会报错
fetch.get(`xxxx`).then((res:Ajax.AjaxResponse)=>{
// do something...
})
如果我想如上使用的话,该如何定义这样的interface来用
多用泛型吧