变更列表
使用
vue-demi兼容 vue2新增自定义缓存
getCache、setCache和clearCache。开启缓存的情况下,设置了相同
cacheKey的请求将会被缓存和复用。新增
runAsync和refreshAsync,将返回Promise。新增
definePlugin,可以通过插件来扩展 useRequest 的功能。节流/防抖模式下可以使用
runAsync返回正常的Promise。新增
useRequestProviderhooks,用于注入 options 配置。新增
refreshDepsAction选项,用于自定义refreshDeps触发后的行为。新增
loadingKeep。refreshDepsAction在manual=true时,也会被refreshDeps的改变而触发。移除 内部集成请求库,
Service不再支持字符或对象。 迁移帮助移除
formatResult。 迁移帮助移除
queryKey,即移除了并行模式 迁移帮助run不再返回Promise迁移帮助请求出错时,
data不再会被清空修改
ready的逻辑data和error改为shallowRefusePagination移除了reload方法和reloading。如需要对应的需求,可自行实现。移除了
RequestConfig组件 迁移帮助重构了
useLoadMore,具体 API 可查看详情 API 说明cacheKey支持传入函数:cacheKey: (params?: P) => stringuseRequest(getUser,{ cacheKey: (params?:P):string => { <!-- 初始化时,params 会为 undefined,需要手动判断并返回一个空字符串 --> if(params){ return `user-key-${params[0].name}` } return '' } })部分
options支持响应式,如下所示type ReactivityOptions = { loadingDelay: number | Ref<number>; pollingInterval: number | Ref<number>; debounceInterval: number | Ref<number>; debounceOptions: DebounceOptions | Reactive<DebounceOptions>; throttleInterval: number | Ref<number>; throttleOptions: ThrottleOptions | Reactive<ThrottleOptions>; refreshOnWindowFocus: boolean | Ref<boolean>; refocusTimespan: number | Ref<number>; errorRetryCount: number | Ref<number>; errorRetryInterval: number | Ref<number>; };
迁移帮助
const getUser = userName => {
return axios.get('api/user', {
params: {
name: userName,
},
});
};
useRequest(getUser, options);
const getUser = async () => {
const results = await axios.get('api/user');
// Process the final data here
return results.data;
};
