老师,如果使用axios拦截器怎么定义返回类型呢
来源:4-9 Dropdown 组件添加 DropdownItem
有没有没被占用的昵称
2021-03-16
import axios from ‘axios’
interface Result {
status: string;
message: string;
}
const instance = axios.create({
timeout: 30 * 1000,
baseURL: ‘https://dog.ceo’
})
// 请求拦截器
instance.interceptors.request.use(
config => {
// 配置请求header
return config
},
error => {
console.log(error)
Promise.reject(error)
}
)
// 响应拦截器
instance.interceptors.response.use(
response => {
const res = response.data
if (res.status === ‘success’) {
return res
} else {
console.log(res.status)
Promise.reject(new Error(‘error’))
}
},
error => {
Promise.reject(error)
}
)
export default instance
这个是我的代码,response对应的类型是AxiosResponse,如何搞成Result呢
写回答
1回答
-
同学你好 AxiosResponse 接受一个泛型可以拿来用一下
import { AxiosResponse } from 'axios' interceptors.response.use((resp: AxiosResponse<{message: string}>) => { //在泛型中传入你想要的类型,现在 data 已经是传入的类型了 resp.data.message })
20
相似问题