@uni-use/request
Version:
An easy to use axios based http client combinatorial api with support for return sequentially
165 lines (131 loc) • 3.56 kB
Markdown
<div style="text-align: center;" align="center">
An easy to use axios based http client combinatorial api with support for return sequentially
[![NPM version][npm-image]][npm-url]
[![Codacy Badge][codacy-image]][codacy-url]
[![Test coverage][codecov-image]][codecov-url]
[![npm download][download-image]][download-url]
[![gzip][gzip-image]][gzip-url]
[![License][license-image]][license-url]
[![Sonar][sonar-image]][sonar-url]
</div>
<div style="text-align: center; margin-bottom: 20px;" align="center">
</div>
```bash
$ pnpm install @uni-use/request
$ npm install @uni-use/request --save
$ yarn add @uni-use/request
```
```ts
import useRequest from '@uni-use/request'
const {
isFetching,
error,
data,
execute,
abort,
canAbort,
createFetch,
isFinished,
statusCode,
response,
aborted,
onFetchResponse,
onFetchError,
onFetchFinally
} = useRequest({
immediate,
refetch,
timeout,
beforeFetch,
afterFetch,
onFetchResponse,
onFetchError
})
.get()
.put()
.post()
.delete()
.patch()
.head()
.options()
//
.json()
.text()
.blob()
.arrayBuffer()
.formData()
createFetch({
baseUrl: 'https://my-api.com',
options: {
async beforeFetch({ options }) {
const myToken = await getMyToken()
options.headers.Authorization = `Bearer ${myToken}`
return { options }
}
},
fetchOptions: {
mode: 'cors'
}
})
request({
url: '/path/of/api'
})
```
```vue
<script setup>
import useRequest from '@uni-use/request'
const { request } = useRequest({})
defineExpose({
request
})
</script>
```
```vue
<script>
import useRequest from '@uni-use/request'
export default {
setup() {
const { request } = useRequest({})
return {
request
}
}
}
</script>
```
```html
<script src="https://unpkg.com/vue-demi@latest/lib/index.iife.js"></script>
<script src="https://unpkg.com/@uni-use/request@1.0.0/dist/index.global.prod.js"></script>
<script>
const { request } = useRequest({})
// ...
</script>
```
Please open an issue [here](https://github.com/saqqdy/uni-use/issues).
[](LICENSE)
[]: https://img.shields.io/npm/v/@uni-use/request.svg?style=flat-square
[]: https://npmjs.org/package/@uni-use/request
[]: https://app.codacy.com/project/badge/Grade/f70d4880e4ad4f40aa970eb9ee9d0696
[]: https://www.codacy.com/gh/saqqdy/@uni-use/request/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saqqdy/@uni-use/request&utm_campaign=Badge_Grade
[]: https://img.shields.io/codecov/c/github/saqqdy/@uni-use/request.svg?style=flat-square
[]: https://codecov.io/github/saqqdy/@uni-use/request?branch=master
[]: https://img.shields.io/npm/dm/@uni-use/request.svg?style=flat-square
[]: https://npmjs.org/package/@uni-use/request
[]: http://img.badgesize.io/https://unpkg.com/@uni-use/request/dist/index.global.prod.js?compression=gzip&label=gzip%20size:%20JS
[]: http://img.badgesize.io/https://unpkg.com/@uni-use/request/dist/index.global.prod.js?compression=gzip&label=gzip%20size:%20JS
[]: https://img.shields.io/badge/License-MIT-blue.svg
[]: LICENSE
[]: https://sonarcloud.io/api/project_badges/quality_gate?project=saqqdy_uni-use
[]: https://sonarcloud.io/dashboard?id=saqqdy_uni-use