- request为uni-app的vue3项目、web的vue3项目中的常规请求插件。
- API为组合式API风格,其中浏览器兼容性同步vue3。
- 支持请求前置执行/后置执行/异常执行/完成执行
- 使用Typescript重构,有更友好的语法提示
- 基础API是默认参数及方法,动态参数及扩展返回
- 需先创建 createReqeust ,后使用 useRequest
npm install @xyzi/request
- main.js
import { createRequest } from '@xyzi/request'
createRequest(function(args) {
// 自定义请求
})
<script setup>
import { useRequest } from '@xyzi/request'
const {
request, //请求方法
option, //请求参数reactive
state, //响应参数ref
isLoading, //是否请求中ref
isError, //是否失败ref
} = useRequest(() => ({
option: { //请求参数初始化
url: "/",
data: {},
},
state: [] //响应参数初始化
isLoading: false //是否请求中初始化
}))
</script>
名称 | 描述 | 版本 |
---|---|---|
lifetime | 执行阶段 | 3.0.0 |
debounce | 防抖请求 | 3.0.0 |
throttle | 节流请求 | 3.0.0 |
lifecycle | 生命周期钩子执行请求 | 3.0.0 |
watchOption | 监听 option 执行请求 | 3.0.0 |
watchtruly | 监听函数返回值为truly执行 | 3.0.0 |
emit | 发布订阅请求 | 3.0.0 |
loop | 轮询请求 | 3.0.0 |
retry | 错误重试请求 | 3.0.0 |
extra | 自定义参数、方法 | 3.0.0 |
getters | 计算属性 | 3.0.0 |
initOptions | 初始化参数 | 3.0.0 |
storage | 持久化参数 | 3.1.0 |
emitData | 发布订阅 option.data | 3.1.0 |
- createRequest
createRequest((args) => new Promise((success, fail) => uni.request(Object.assign(args, { success, fail }))))
createRequest('upload', (args) => new Promise((success, fail) => uni.uploadFile(Object.assign(args, { success, fail }))))
- createRequest
createRequest((args) => axios(args))