Appearance
useRequest
异步请求封装,内置 loading/data 状态管理,支持单任务和批量并发(每批 5 个)。
ts
import { useRequest } from 'yoyoo-ui'单任务
ts
const { loading, data, request } = useRequest(
() => fetch('/api/list').then((r) => r.json()),
{ immediate: true }
)批量并发
ts
const { loading, data } = useRequest([
() => fetch('/api/a'),
() => fetch('/api/b'),
() => fetch('/api/c'),
])参数
| 参数 | 类型 | 说明 |
|---|---|---|
| fn | () => Promise<T> | Array<() => Promise<T>> | 单任务函数或批量任务数组 |
| options | Options | 配置项(可选) |
Options
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| immediate | boolean | false | 是否立即执行 |
| initData | any | — | data 初始值 |
| success | (data: T) => void | — | 请求成功回调 |
| error | (e) => void | — | 请求失败回调 |
返回值
| 属性 | 类型 | 说明 |
|---|---|---|
| loading | Ref<boolean> | 加载状态 |
| data | Ref<T> | 响应式数据 |
| request | (...args) => Promise<T> | 手动触发请求 |