From 7ad5166e7446839d596eea474d346fdea010a45f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=B6=E8=BF=9C=E6=96=B9?= Date: Fri, 17 Feb 2023 07:31:00 +0800 Subject: [PATCH] fix(useAxios): fix cancelToken (#2728) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 丶远方 --- packages/integrations/useAxios/index.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/integrations/useAxios/index.ts b/packages/integrations/useAxios/index.ts index d843fe78d57..0f4e2b9d44c 100644 --- a/packages/integrations/useAxios/index.ts +++ b/packages/integrations/useAxios/index.ts @@ -161,12 +161,15 @@ export function useAxios, D = any>(...args: any[]) const isAborted = ref(false) const error = shallowRef>() - const cancelToken: CancelTokenSource = axios.CancelToken.source() + const cancelTokenSource = axios.CancelToken.source + let cancelToken: CancelTokenSource = cancelTokenSource() + const abort = (message?: string) => { if (isFinished.value || !isLoading.value) return cancelToken.cancel(message) + cancelToken = cancelTokenSource() isAborted.value = true isLoading.value = false isFinished.value = false @@ -195,7 +198,7 @@ export function useAxios, D = any>(...args: any[]) isFinished.value = true return { then } } - + abort() loading(true) instance(_url, { ...defaultConfig, ...typeof executeUrl === 'object' ? executeUrl : config, cancelToken: cancelToken.token }) .then((r: any) => {