Skip to content

useRequest 请求

用于处理异步请求的组合函数,提供加载状态、错误处理等功能。

类型定义

typescript
interface RequestConfig<T, P> {
  initialData: T
  initialParams?: P
  immediate?: boolean
  beforeSend?: (params: P) => P | Promise<P>
  onSuccess?: (response: T) => void
  onError?: (error: any) => void
  onComplete?: () => void
}

interface RequestReturn<T, P> {
  loading: Ref<boolean>
  params: Ref<P>
  data: Ref<T>
  send: () => Promise<void>
}

function useRequest<T, P = Record<string, any>>(
  methodHandler: (params: P) => Promise<T>,
  config: RequestConfig<T, P>
): RequestReturn<T, P>

参数

参数说明类型默认值
methodHandler请求函数(params: P) => Promise<T>
config配置对象RequestConfig<T, P>

Config 选项

属性说明类型默认值
initialData初始数据T
initialParams初始参数P{}
immediate是否立即执行booleantrue
beforeSend请求前的参数处理函数(params: P) => P | Promise<P>
onSuccess请求成功回调(response: T) => void
onError请求失败回调(error: any) => void
onComplete请求完成回调() => void

返回值

属性说明类型
loading加载状态Ref<boolean>
params请求参数Ref<P>
data响应数据Ref<T>
send发送请求函数() => Promise<void>

Released under the MIT License.