VueRequest:一个能轻松帮你管理请求状态(支持SWR、轮询、错误重试、缓存、分页等)的Vue3 Composition API请求库。
数据请求
这是VueRequest最基本的API。这里的service可以表示一个请求接口,它可以是一个字符串、一个对象或者是一个函数。当请求完成之后,则会根据请求结果来修改data和error:
1
2
3
|
const {data, error} = useRequest(service, options);
|
函数(推荐)
查询函数实际上可以是任意一个返回Promise的函数,返回的Promise将决定是传递data亦或者是抛出错误,错误将会被error捕获。函数的入参会被当做params传递给API接口:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import {useRequest} from 'vue-request';
import axios from 'axios';
const getUser = userName => {
return axios.get('api/user', {
params: {
name: userName
}
})
}
const {data, run} = useRequest(getUser,{
defaultParams:['马冬梅']
})
run('张三')
|
字符串、对象(不研究)
接口结点,则可以使用字符串和对象的方式(内部使用的是fetch处理数据请求,所以不研究这套方案)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import {useRequest} from 'vue-request';
// 字符串
const {data} = useRequest('api/simple');
// 对象
const objectService = {
url: '',
method: 'POST',
headers: new Headers({
'Content-Type': 'application/json',
}),
}
const { data } = useRequest(objectService);
|