请教如何处理axios请求这个报错timeout of 8000ms exceeded。
在vue中使用了axios请求api,经常出现timeout of 8000ms exceeded报错,请问这个网络超时问题,大家是如何处理的。
这是封装axios的代码
import axios from 'axios'
import { Message } from 'element-ui'
// 创建 axios 实例
const httpRequest = axios.create({
baseURL: process.env.VUE_APP_API_URL,
timeout: 8000
})
// 请求
httpRequest.interceptors.request.use(
config => {
return config
},
error => {
return Promise.reject(error)
}
)
export function setHttpToken(token) {
httpRequest.defaults.headers.common.Authorization = `Bearer ${token}`
}
// 响应
httpRequest.interceptors.response.use(
response => {
return response
},
error => {
let message = error.message
let dangerouslyUseHTMLString = false
// 请求超时
if (error.code === 'ECONNABORTED') {
message = error.message
dangerouslyUseHTMLString = true
}
Message({
dangerouslyUseHTMLString,
message: message,
type: 'error'
})
return Promise.reject(error)
}
)
export default httpRequest
api文件夹里的发送邮箱验证码的代码
import http from '@/utils/http'
export const emailCodes = ({ email }) => {
return http.post('/api/verificationCodes', { email })
}
请求方法的代码
methods: {
sendEmailCodes() {
const email = this.form.email
emailCodes({
email
}).then((response) => {
console.log(response);
this.$store.commit('SET_VERIFICATION_KEY', response.data.key)
})
}
}