From b94de90e94b5a24a642545828084526fd4615ff3 Mon Sep 17 00:00:00 2001 From: jahnli Date: Tue, 20 Feb 2024 18:15:41 +0800 Subject: [PATCH] feat(useAxios): support `abortPrevious` option (#3735) Co-authored-by: Anthony Fu --- packages/integrations/useAxios/index.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/integrations/useAxios/index.ts b/packages/integrations/useAxios/index.ts index c50bc22f89d..acd428529b5 100644 --- a/packages/integrations/useAxios/index.ts +++ b/packages/integrations/useAxios/index.ts @@ -76,6 +76,13 @@ export interface UseAxiosOptions { */ shallow?: boolean + /** + * Abort previous request when a new request is made. + * + * @default true + */ + abortPrevious?: boolean + /** * Callback when error is caught. */ @@ -121,6 +128,7 @@ export function useAxios, D = any>(...args: any[]) const defaultOptions: UseAxiosOptions = { immediate: !!argsPlaceholder, shallow: true, + abortPrevious: true, } let defaultConfig: AxiosRequestConfig = {} let instance: AxiosInstance = axios @@ -218,7 +226,10 @@ export function useAxios, D = any>(...args: any[]) return promise } resetData() - abort() + + if (options.abortPrevious) + abort() + loading(true) executeCounter += 1