使用 TypeScript,很容易找到合适的类型。
这使一切变得更容易,因为您可以通过自动完成获取类型的所有属性,因此您可以了解响应和错误的正确结构。
import { AxiosResponse, AxiosError } from 'axios'
axios.get('foo.com')
.then((response: AxiosResponse) => {
// Handle response
})
.catch((reason: AxiosError) => {
if (reason.response!.status === 400) {
// Handle 400
} else {
// Handle else
}
console.log(reason.message)
})
此外,您可以将参数传递给这两种类型,以告诉您在内部期望什么,response.data
如下所示:
import { AxiosResponse, AxiosError } from 'axios'
axios.get('foo.com')
.then((response: AxiosResponse<{user:{name:string}}>) => {
// Handle response
})
.catch((reason: AxiosError<{additionalInfo:string}>) => {
if (reason.response!.status === 400) {
// Handle 400
} else {
// Handle else
}
console.log(reason.message)
})