请教如何处理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)
      })
    }
  }
一直在学习,从未停止,终身学习。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!