From 457186c391424636963a92a8bf00bb1bdff74976 Mon Sep 17 00:00:00 2001 From: Jinliang Date: Sat, 8 Jun 2024 15:59:49 +0800 Subject: [PATCH] =?UTF-8?q?refine(hooks):=20=E4=BC=98=E5=8C=96=20useReques?= =?UTF-8?q?t=20=E7=AB=8B=E5=8D=B3=E6=89=A7=E8=A1=8C=E9=80=BB=E8=BE=91=20-?= =?UTF-8?q?=20immediate=20=E9=80=89=E9=A1=B9=E7=94=B1=E9=BB=98=E8=AE=A4tru?= =?UTF-8?q?e=20=E6=94=B9=E4=B8=BAfalse=20-=20=E7=AB=8B=E5=8D=B3=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E7=94=B1=E5=9C=A8=20onLoad=20=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E5=9C=A8=E9=92=A9=E5=AD=90=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E6=9C=9F=E9=97=B4=E7=AB=8B=E5=8D=B3=E6=89=A7=E8=A1=8C=20BREAKI?= =?UTF-8?q?NG=20CHANGE:=20immediate=20=E9=80=89=E9=A1=B9=E7=94=B1=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=20true=20=E6=94=B9=E4=B8=BA=20false?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useRequest.ts | 10 ++++------ src/pages/about/components/request.vue | 1 + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/hooks/useRequest.ts b/src/hooks/useRequest.ts index 9d1c5a7..9a0c8e5 100644 --- a/src/hooks/useRequest.ts +++ b/src/hooks/useRequest.ts @@ -1,7 +1,7 @@ import { UnwrapRef } from 'vue' type IUseRequestOptions = { - /** 是否立即执行,如果是则在onLoad执行 */ + /** 是否立即执行 */ immediate?: boolean /** 初始化数据 */ initialData?: T @@ -11,13 +11,13 @@ type IUseRequestOptions = { * useRequest是一个定制化的请求钩子,用于处理异步请求和响应。 * @param func 一个执行异步请求的函数,返回一个包含响应数据的Promise。 * @param options 包含请求选项的对象 {immediate, initialData}。 - * @param options.immediate 是否立即执行请求,默认为true。 + * @param options.immediate 是否立即执行请求,默认为false。 * @param options.initialData 初始化数据,默认为undefined。 * @returns 返回一个对象{loading, error, data, run},包含请求的加载状态、错误信息、响应数据和手动触发请求的函数。 */ export default function useRequest( func: () => Promise>, - options: IUseRequestOptions = { immediate: true }, + options: IUseRequestOptions = { immediate: false }, ) { const loading = ref(false) const error = ref(false) @@ -39,8 +39,6 @@ export default function useRequest( }) } - onLoad(() => { - options.immediate && run() - }) + options.immediate && run() return { loading, error, data, run } } diff --git a/src/pages/about/components/request.vue b/src/pages/about/components/request.vue index a8bf509..89a656d 100644 --- a/src/pages/about/components/request.vue +++ b/src/pages/about/components/request.vue @@ -47,6 +47,7 @@ const recommendUrl = ref('http://laf.run/signup?code=ohaOgIX') const initialData = undefined // 适合少部分全局性的接口————多个页面都需要的请求接口,额外编写一个 Service 层 const { loading, error, data, run } = useRequest(() => getFooAPI('菲鸽'), { + immediate: true, initialData, }) const reset = () => {