当路由切换的时候,打断 from 路由还未完成的请求

This commit is contained in:
sunday 2020-08-24 10:07:58 +08:00
parent 0e8f5941b5
commit b3d7baadca
2 changed files with 13 additions and 0 deletions

View File

@ -21,6 +21,15 @@ const createRouter = () =>
const router = createRouter()
// 当路由切换的时候,打断 from 路由还未完成的请求
import request from '@/utils/request'
router.beforeEach((to, from, next) => {
var requestSource = request.requestSource
requestSource.cancel && requestSource.cancel()
requestSource = request.CancelToken.source()
next()
})
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
export function resetRouter() {
const newRouter = createRouter()

View File

@ -11,8 +11,12 @@ const service = axios.create({
})
// request拦截器 request interceptor
// 定义 cancelToken
var requestSource = { token: null, cancel: null }
service.interceptors.request.use(
config => {
// 插入 cancelToken 到配置
config.cancelToken = requestSource.token
// 不传递默认开启loading
if (!config.hideloading) {
// loading