跳转到内容

并行请求

一次 useApi 调用,通过 run 传入不同参数同时发起多个请求,配合 onSuccess 将结果收集到各自的位置。

typescript
import { createRequest } from 'vue-rex'
import { reactive } from 'vue'

const useApi = createRequest({ dataKey: 'data' })

const getLibs = async (type: string) => {
  // ...返回 { data: string[] }
}

const list = reactive<Record<string, string[]>>({ vue: [], react: [], svelte: [] })

const { run } = useApi(getLibs, {
  manual: true,
  onSuccess(data, _rawData, params) {
    list[params[0]] = data
  },
})

// 同时发起三个请求,互不等待
run('vue')
run('react')
run('svelte')