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 | 是否立即执行 | boolean | true |
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> |