main.js

import axios from 'axios'
Vue.prototype.$http = axios

Test.vue

<template>
  <div class="common-box">

  </div>
</template>

<script>
export default {
  data () {
    return {

    }
  },
  methods: {
    async t () {
      const cancel = this.$http.CancelToken.source()
      console.log(cancel)
      setTimeout(() => {
        cancel.cancel() //超时中断请求
      }, 3000)
      await this.$http.get('test', { cancelToken: cancel.token }).catch(e => {})
    }
  },
  mounted () {
    this.t()
  }
}
</script>

<style lang='less' scoped>
</style>