mirror of
https://github.com/sunniejs/vue-h5-template.git
synced 2025-10-06 03:09:59 +08:00
当路由切换的时候,打断 from 路由还未完成的请求
This commit is contained in:
parent
0e8f5941b5
commit
b3d7baadca
@ -21,6 +21,15 @@ const createRouter = () =>
|
|||||||
|
|
||||||
const router = 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
|
// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
|
||||||
export function resetRouter() {
|
export function resetRouter() {
|
||||||
const newRouter = createRouter()
|
const newRouter = createRouter()
|
||||||
|
@ -11,8 +11,12 @@ const service = axios.create({
|
|||||||
})
|
})
|
||||||
|
|
||||||
// request拦截器 request interceptor
|
// request拦截器 request interceptor
|
||||||
|
// 定义 cancelToken
|
||||||
|
var requestSource = { token: null, cancel: null }
|
||||||
service.interceptors.request.use(
|
service.interceptors.request.use(
|
||||||
config => {
|
config => {
|
||||||
|
// 插入 cancelToken 到配置
|
||||||
|
config.cancelToken = requestSource.token
|
||||||
// 不传递默认开启loading
|
// 不传递默认开启loading
|
||||||
if (!config.hideloading) {
|
if (!config.hideloading) {
|
||||||
// loading
|
// loading
|
||||||
|
Loading…
x
Reference in New Issue
Block a user